elasticsearch(es)查询api,结果集排序,分页,范围查询
Posted 好大的月亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了elasticsearch(es)查询api,结果集排序,分页,范围查询相关的知识,希望对你有一定的参考价值。
查询某个字段不等于空字符串,must_not反向查找,不等于匹配值的结果集
查询某个字段的值不等于空字符串
GET aunt/aunt_type/_search
{
"query": {
"bool": {
"must_not": [
{
"term": {
"auntUserId": {
"value": ""
}
}
}
]
}
}
}
must_not反向查找,不等于匹配值的结果集
GET /test2/product/_search
{
"query": {
"bool": {
"must_not": [
{
"match": {
"age": 20
}
}
,{
"match": {
"name": "test11"
}
}
]
}
}
}
查询后按照某个字段排序
GET /test2/product/_search
{
"query": {
"match": {
"name": "test"
}
},
"sort": [
{
"age": {
"order": "desc"
}
}
]
}
分页查询
GET /test2/product/_search
{
"query": {
"match": {
"name": "test"
}
},
"sort": [
{
"age": {
"order": "desc"
}
}
],
#从第几条开始
"from": 0,
#获取几条数据
"size": 2
#from + size其实就是limit from,size
}
多条件or查询,是否存在(返回boolean值)
GET /test2/product/_search
{
"query": {
"bool": {
#must的两个条件都必须满足,即mysql中的and
#should的两个条件至少满足一个就可以。即mysql中的or
"must": [
{
"match": {
"name": "test"
}
},
{
"match": {
"age": 20
}
}
]
}
}
}
过滤(范围查询),符合条件的值查出来
GET /test2/product/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"name": "test"
}
}
],
"filter": {
"range": {
"age": {
#gte >=
#lte <=
#lt <
#gt >
"gte": 10,
"lte": 19
}
}
}
}
}
}
查询一个字段有多个值符合条件(in查询)
多个值用空格隔开
GET /test2/product/_search
{
"query": {
"match": {
"name": "test 111111"
}
}
}
以上是关于elasticsearch(es)查询api,结果集排序,分页,范围查询的主要内容,如果未能解决你的问题,请参考以下文章
Elasticsearch掰开揉碎第12篇java操作ES常用API
elasticsearch基本查询笔记(三)-- es查询总结
Elasticsearch——使用Java API实现ES中的索引映射文档操作