ElasticSearch入门教程有哪些?

2026-05-20 23:201阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计820个文字,预计阅读时间需要4分钟。

ElasticSearch入门教程有哪些?

ElasticSearch是一款广泛使用的全文搜索引擎,开源的Elasticsearch是当前全文搜索引擎的首选。它支持快速存储、搜索和分析大量数据。知名平台如百度、Stack Overflow和GitHub都采用了Elasticsearch。

ElasticSearch

全文搜索属于最常见的需求,开源的Elasticsearch 是目前全文搜索引擎的首选。 它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它 www.elastic.co/

Elasticsearch: 权威指南 www.elastic.co/guide/cn/elasticsearch/guide/current/index.html

ElasticSearch入门教程有哪些?

下载 安装 elasticsearch

docker pull elasticsearch:7.4.2 下载ES docker pull kibana:7.4.2 下载可视化界面 mkdir -p /mydata/elasticsearch/config mkdir -p /mydata/elasticsearch/data echo "192.168.56.10:9200/ 显示json 安装成功

安装运行Kibana docker run --name kibana -e ELASTICSEARCH_HOSTS=192.168.56.10:9200 -p 5601:5601 \ -d kibana:7.4.2 访问 192.168.56.10:5601/ 安装成功

初步检索

1、cat GET/_cat/nodes: 查看所有节点 GET/_cat/health: 查看es健康状况 GET/_cat/master: 查看主节点 GET/_cat/indices: 查看所有索引 show databases;

POST 新增:不带id,带id但之前没数据| 修改:带id,并且有数据

PUT 必须带上ID

GRT 查询

测试数据

es数据:download.elastic.co/demos/kibana/gettingstarted/accounts.zip 文档地址教程 www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-search.html

发起查询

固定写法 query json 查询条件 sort 排序条件 match_all查询所有 Query DSL 领域对象语言

GET /bank/_search { "query": { "match_all": {} }, "sort": [ { "account_number": "asc" } ], "from": 0, "size": 5, //每页大小 "_source":[ "balance","firstname"] //指定返回字段 }

Match 查询 指定匹配查询

GET /bank/_search //##全文检索 按照评分进行排序 会对检索条件进行分词匹配 { "query": { "match": { "address": "Kings" } } } 返回 "hits" : { "total" : { "value" : 2, //命中数几条 "relation" : "eq" }, "max_score" : 5.9908285, //最大得分 "hits" : [

短词匹配 完全匹配 不分割 (但是 不区分大小写)

GET /bank/_search { "query": { "match_phrase": { "address": "mill lane" } } }

多字段匹配

GET /bank/_search { "query": { "multi_match": { "query": "mill Movico", //查询mill 或mill "fields": ["address","address"] //在哪里包含 } } }

多条件 bool 查询

GET /bank/_search { "query": { "bool": { bool 查询 "must": [ //must 必须满足 {"match": { //match 条件 "gender": "m" }}, {"match": { "address": "Mill" }} ], "must_not": [ //必须不匹配 {"match": { "age": "38" }} ], "should": [ //满足也行 不满足也行 满足给max_score 相关性得分 {"match": { "lastname": "Wallace" }} ] } } }

must 过滤 支持相关性得分

GET /bank/_search { "query": { "bool": { "must": [ { "range": { "age": { "gte": 10, "lte": 30 } } } ] } } }

filter 过滤 不支持相关性得分

GET /bank/_search { "query": { "bool": { "filter": [ { "range": { "age": { "gte": 10, "lte": 30 } } } ] } }

term 查询 非文本字段

比如数字之类的 完全匹配;文本字段使用match查询 和match一样。匹配某个属性的值。全文检索字段用match,其他非text字段匹配用term.

GET /bank/_search { "query": { "term": { "balance": "29104" } } }

本文共计820个文字,预计阅读时间需要4分钟。

ElasticSearch入门教程有哪些?

ElasticSearch是一款广泛使用的全文搜索引擎,开源的Elasticsearch是当前全文搜索引擎的首选。它支持快速存储、搜索和分析大量数据。知名平台如百度、Stack Overflow和GitHub都采用了Elasticsearch。

ElasticSearch

全文搜索属于最常见的需求,开源的Elasticsearch 是目前全文搜索引擎的首选。 它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它 www.elastic.co/

Elasticsearch: 权威指南 www.elastic.co/guide/cn/elasticsearch/guide/current/index.html

ElasticSearch入门教程有哪些?

下载 安装 elasticsearch

docker pull elasticsearch:7.4.2 下载ES docker pull kibana:7.4.2 下载可视化界面 mkdir -p /mydata/elasticsearch/config mkdir -p /mydata/elasticsearch/data echo "192.168.56.10:9200/ 显示json 安装成功

安装运行Kibana docker run --name kibana -e ELASTICSEARCH_HOSTS=192.168.56.10:9200 -p 5601:5601 \ -d kibana:7.4.2 访问 192.168.56.10:5601/ 安装成功

初步检索

1、cat GET/_cat/nodes: 查看所有节点 GET/_cat/health: 查看es健康状况 GET/_cat/master: 查看主节点 GET/_cat/indices: 查看所有索引 show databases;

POST 新增:不带id,带id但之前没数据| 修改:带id,并且有数据

PUT 必须带上ID

GRT 查询

测试数据

es数据:download.elastic.co/demos/kibana/gettingstarted/accounts.zip 文档地址教程 www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-search.html

发起查询

固定写法 query json 查询条件 sort 排序条件 match_all查询所有 Query DSL 领域对象语言

GET /bank/_search { "query": { "match_all": {} }, "sort": [ { "account_number": "asc" } ], "from": 0, "size": 5, //每页大小 "_source":[ "balance","firstname"] //指定返回字段 }

Match 查询 指定匹配查询

GET /bank/_search //##全文检索 按照评分进行排序 会对检索条件进行分词匹配 { "query": { "match": { "address": "Kings" } } } 返回 "hits" : { "total" : { "value" : 2, //命中数几条 "relation" : "eq" }, "max_score" : 5.9908285, //最大得分 "hits" : [

短词匹配 完全匹配 不分割 (但是 不区分大小写)

GET /bank/_search { "query": { "match_phrase": { "address": "mill lane" } } }

多字段匹配

GET /bank/_search { "query": { "multi_match": { "query": "mill Movico", //查询mill 或mill "fields": ["address","address"] //在哪里包含 } } }

多条件 bool 查询

GET /bank/_search { "query": { "bool": { bool 查询 "must": [ //must 必须满足 {"match": { //match 条件 "gender": "m" }}, {"match": { "address": "Mill" }} ], "must_not": [ //必须不匹配 {"match": { "age": "38" }} ], "should": [ //满足也行 不满足也行 满足给max_score 相关性得分 {"match": { "lastname": "Wallace" }} ] } } }

must 过滤 支持相关性得分

GET /bank/_search { "query": { "bool": { "must": [ { "range": { "age": { "gte": 10, "lte": 30 } } } ] } } }

filter 过滤 不支持相关性得分

GET /bank/_search { "query": { "bool": { "filter": [ { "range": { "age": { "gte": 10, "lte": 30 } } } ] } }

term 查询 非文本字段

比如数字之类的 完全匹配;文本字段使用match查询 和match一样。匹配某个属性的值。全文检索字段用match,其他非text字段匹配用term.

GET /bank/_search { "query": { "term": { "balance": "29104" } } }