上一篇 <<<Elasticsearch的基本及复杂数据类型
下一篇 >>>Elasticsearch默认分词器对中文分词不友好
1.简易版查询
1.1根据ID查询
GET /myjarye/user/1
1.2查询所有
GET /myjarye/user/_search
1.3根据多个ID批量查询
GET /myjarye/user/_mget
{
"ids":["1","2"]
}
1.4查询年龄为21岁
GET /myjarye/user/_search?q=age:21
1.5查询年龄30岁-60岁之间【注意:TO 一定要大写】
GET /myjarye/user/_search?q=age[30 TO 60]
1.6查询年龄30岁-60岁之间 并且年龄降序、从0条数据到第1条数据
GET /myjarye/user/_search?q=age[20 TO 60]&sort=age:desc&from=0&size=2
1.7查询年龄30岁-60岁之间 并且年龄降序、从0条数据到第1条数据,展示name和age字段
GET /myjarye/user/_search?q=age[30 TO 60]&sort=age:desc&from=0&size=1&_source=name,age
2.结构化查询(DSL)
2.1使用term精确匹配
GET /myjarye/user/_search
{
"query": {
"term": {
"name": "xiaopeng"
}
}
}
2.2使用match分词匹配
GET /myjarye/user/_search
{
"from": 0,
"size": 2,
"query": {
"match": {
"car": "奥迪"
}
}
}
2.3使用filter查询区间,_source返回字段
GET /myjarye/user/_search
{
"query": {
"bool": {
"must": [{
"match_all": {}
}],
"filter": {
"range": {
"age": {
"gt": 30,
"lte": 60
}
}
}
}
},
"from": 0,
"size": 10,
"_source": ["name", "age"]
}
3.Term与Match区别
Term查询不会对字段进行分词查询,会采用精确匹配。
Match会根据该字段的分词器,进行分词查询。
推荐阅读:
<<<Elasticsearch入门知识
<<<Elasticsearch快速原因分析及应用场景
<<<Elasticsearch的存储结构端口及版本控制
<<<Elasticsearch文档映射方式
<<<Elasticsearch的基本及复杂数据类型
<<<Elasticsearch默认分词器对中文分词不友好
<<<Elasticsearch自定义分词和分词器
<<<正向索引和倒排索引区别
<<<Elasticsearch中的类型区别汇总
<<<Elasticsearch是如何解决高并发问题
<<<Elasticsearch集群相关名词
<<<Elasticsearch集群及分片实现原理
<<<SpringBoot整合Elasticsearch
<<<Linux环境安装Elasticsearch
<<<Linux环境安装Elasticsearch集群
<<<Elasticsearch和数据库保持同步的方式及原理
<<<Logstash-input-jdbc实现ES和数据同步操作步骤