ElasticSearch入门教程有哪些?
- 内容介绍
- 文章标签
- 相关推荐
本文共计820个文字,预计阅读时间需要4分钟。
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
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是当前全文搜索引擎的首选。它支持快速存储、搜索和分析大量数据。知名平台如百度、Stack Overflow和GitHub都采用了Elasticsearch。
ElasticSearch
全文搜索属于最常见的需求,开源的Elasticsearch 是目前全文搜索引擎的首选。 它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它 www.elastic.co/
Elasticsearch: 权威指南 www.elastic.co/guide/cn/elasticsearch/guide/current/index.html
下载 安装 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" } } }
