elasticsearch入门(代码片段)

ldy-miss ldy-miss     2023-03-21     315

关键词:

ElasticSearch

技术图片

全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。

它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。

概念

Elastic会索引所有字段,查询就是查索引。

1,索引(Index)是Elastic数据管理的顶层单位,一个索引就是一个数据库。索引名称必须小写。

2,Index 里的记录称为文档(Document),多条Document组成一个Index,Document是Json格式。

3,Document文档可以分组(Type),是虚拟的逻辑分组,用来过滤Document

技术图片

实操

0,

显示所有Index:curl -X GET ‘http://localhost:9200/_cat/indices?v‘

显示所有Type:curl ‘localhost:9200/_mapping?pretty=true‘

1,

新建Index,向Elastic服务器发送PUT请求,名为weather:curl -X PUT ‘localhost:9200/weather’

删除Index,发送DELETE请求:curl -X DELETE ‘localhost:9200/weather’

2,

新增记录,向指定Index/Type发请求:

# 向accounts索引Type组中新增记录

# 方式一:发送PUT请求,要指定该条记录的ID,下例中为1,ID不一定是数字,任何字符串都可以。
curl -X PUT ‘localhost:9200/accounts/person/1‘ -H ‘Content-Type: application/json‘ -d ‘

  "user": "张三",
  "title": "工程师",
  "desc": "数据库管理"
‘ 

# 方式二:发送POST请求,ID会随机创建,和方式一等价。
curl -X POST ‘localhost:9200/accounts/person‘ -H ‘Content-Type: application/json‘ -d ‘

  "user": "张三",
  "title": "工程师",
  "desc": "数据库管理"
‘

删除记录,发送DELETE请求,删除accounts索引person组中ID等于1的记录:curl -X DELETE ‘localhost:9200/accounts/person/1‘

更新记录,发送PUT请求,更新ID等于1的记录:

curl -X PUT ‘localhost:9200/accounts/person/1‘ -H ‘Content-Type: application/json‘ -d ‘

    "user" : "张三",
    "title" : "工程师",
    "desc" : "数据库管理,软件开发"
‘ 
# 更新返回的数据中,该记录version从1变为2,记录更新次数

查看记录,发送GET请求,accounts索引person分组ID为1的记录:

curl ‘localhost:9200/accounts/person/1?pretty=true‘
# pretty=true以易读的格式返回。ID不存在就查不到数据。

3,

数据查询

查询所有记录,GET请求:

curl ‘localhost:9200/accounts/person/_search‘

# response中:took表示耗时(毫秒)、time_out表示是否超时、hits表示命中的记录

全文搜索

# 查询accounts索引person组的记录,条件是desc字段包含”软件“二字
curl ‘localhost:9200/accounts/person/_search‘ -H ‘Content-Type: application/json‘ -d ‘

  "query" :  "match" :  "desc" : "软件" 
‘

# Elastic默认返回10条记录,size字段可设置返回记录条数,from字段表示位移,从哪个位置开始,默认从0开始
#
#  "query" :  "match" :  "desc" : "软件" ,
#  "from": 1,
#  "size": 5
#

逻辑运算

有多个条件,默认or

# 软件 or 系统
curl ‘localhost:9200/accounts/person/_search‘ -H ‘Content-Type: application/json‘ -d ‘

  "query" :  "match" :  "desc" : "软件 系统" 
‘

要执行and,必须使用布尔查询

# 软件 and 系统
curl ‘localhost:9200/accounts/person/_search‘ -H ‘Content-Type: application/json‘ -d ‘

  "query": 
    "bool": 
      "must": [
         "match":  "desc": "软件"  ,
         "match":  "desc": "系统"  
      ]
    
  
‘

elasticsearch入门简介(代码片段)

ElasticSearch是基于ApacheLucene的分布式搜索引擎,提供面向文档的搜索服务。本文以6.2.3版本为例介绍ElasticSearch的应用。本文首先介绍ElasticSearch中的索引和文档的概念,并在系列的其它文章进行更进一步的介绍。目录:创建文档访问... 查看详情

elasticsearch入门(代码片段)

elaticsearch搜索引擎简介  ElasticSearch是一个基于Lucene的搜索服务器。   它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。   Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布... 查看详情

elasticsearch入门笔记(代码片段)

安装https://es.xiaoleilu.com/010_Intro/10_Installing_ES.html下载elasticsearchhttps://www.elastic.co/downloads/elasticsearch下载kibanahttps://www.elastic.co/downloads/kibana安装X-Packhttps://www.elastic.co/dow 查看详情

elasticsearch入门到放弃之elasticsearch-head(代码片段)

elasticsearch-head可理解为跟DBeaver一样是一个数据可视化工具,但是这个工具并没有理想中那么好用坑也是很多,我已经在我的github上fork了一份修改后的版本:https://github.com/zhaoyunxing92/elasticsearch-head系列文章elasticsearch入门到放弃之... 查看详情

全文检索-elasticsearch入门(代码片段)

...文检索过程1.3全文检索相关概念1.4全文检索的使用场景2.ElasticSearch2.1ElasticSearch概念2.2ElasticSearch应用案例2.3ElasticSearch和Solr对比2.4ElasticSearch术语2.4.1概述2.4.2Index索引2.4.3Type类型2.4.4Document文档2 查看详情

elasticsearch-入门篇(代码片段)

一、ElasticSearch介绍1.1介绍1、elasticsearch是一个基于Lucene的高扩展的分布式搜索服务器,支持开箱即用。2、elasticsearch隐藏了Lucene的复杂性,对外提供Restful接口来操作索引、搜索。突出优点:扩展性好,可部署上百台服务器集群,... 查看详情

day390.-elasticsearch入门-elasticsearch(代码片段)

ES1、ElasticSearch概述2、ES与Solr的差别①Solr简介②Lucene简介③ESVSSolr3、ElasticSearch安装https://www.elastic.co/cn/认识目录进入bin目录,打开.bat文件,这里用windows版本演示启动在9200端口上测试访问eshead可视化插件使用之前请先配... 查看详情

elasticsearch入门——kibanna和postman操作elasticsearch索引示例(代码片段)

目录一、使用kibanna操作Elasticsearch索引示例二、使用postman操作Elasticsearch索引示例三、kibanna和postman操作Elasticsearch的总结一、使用kibanna操作Elasticsearch索引示例启动Elasticsearch和kibanna服务,浏览器访问http://localhost:5601/,进入DevToo... 查看详情

elasticsearch入门,看这一篇就够了(代码片段)

Elasticsearch入门,看这一篇就够了前言可视化工具kibanakibana的安装kibana配置kibana的启动Elasticsearch入门操作操作index创建index索引别名有什么用删除索引查询索引exist索引操作document插入document查询document删除document更新document使用... 查看详情

elasticsearch入门,这一篇就够了(代码片段)

实时搜索引擎ElasticsearchElasticsearch(简称ES)是一个基于ApacheLucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。Elasticsearch简介Elasticsearch是什么Elasticsear... 查看详情

最新版本elasticsearch本地搭建入门篇(代码片段)

最新版本elasticsearch本地搭建入门篇项目介绍最近工作用到elasticsearch,主要是用于网站搜索,和应用搜索。工欲善其事,必先利其器。自己开始关注elasticsearch,当下最新版本的elastic,安装过程中踩了不少坑(百度出来都是老版... 查看详情

elasticsearch基础入门(代码片段)

1、query查询表达式Elasticsearch提供一个丰富灵活的查询语言叫做 查询表达式 , 查询表达式(QueryDSL)是一种非常灵活又富有表现力的 查询语言,它支持构建更加复杂和健壮的查询。领域特定语言 (DSL), 指... 查看详情

elasticsearch入门一-介绍(代码片段)

主要特性支持“标准”Markdown/CommonMark和Github风格的语法,也可变身为代码编辑器;支持实时预览、图片(跨域)上传、预格式文本/代码/表格插入、代码折叠、搜索替换、只读模式、自定义样式主题和多语言语法高亮等功能;支... 查看详情

elasticsearch入门(下载安装)(代码片段)

目录elasticsearchES入门下载安装可能出现的问题及解决RESTful&JSON客户端安装ES的数据格式elasticsearch一个分布式免费开源的搜索分析引擎,elastic表示可伸缩灵活的意思,search表示查询的意思,所以这个引擎的核心其实... 查看详情

elasticsearch入门(下载安装)(代码片段)

目录elasticsearchES入门下载安装可能出现的问题及解决RESTful&JSON客户端安装ES的数据格式elasticsearch一个分布式免费开源的搜索分析引擎,elastic表示可伸缩灵活的意思,search表示查询的意思,所以这个引擎的核心其实... 查看详情

elasticsearch集群搭建---入门篇二(代码片段)

Elasticsearch(二)elasticSearch安装,基本操作,入门篇一1通过java客户端对es维护1.1工程搭建创建maven工程添加依赖,在pom.xml文件添加如下依赖:<dependencies><dependency><groupId>org.elastic 查看详情

elasticsearch--入门(代码片段)

ES定义ES=elaticsearch简写,Elasticsearch是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。Elasticsearch也使用Java开发... 查看详情

elasticsearch教程:基础入门(代码片段)

...些东西你以为很贵其实很便宜。A:大学刚毕业的我简介Elasticsearch是一个高度可扩展的、开源的、基于Lucene的全文搜索和分析引擎。它允许您快速,近实时地存储,搜索和分析大量数据,并支持多租户。Elasticsearch也使用Java开发... 查看详情