ElasticSearch 复杂操作搜索

select(排序,分页,高亮,模糊查询,精准查询)

1.普通查询

查询的参数体使用json

GET 索引名/_search
{
  "query": {
    "match": {
      "name":"艾琳"
    }
  }
}

hits:ES查询出来的对象,包括索引,文档,查询出来的总数,权重比,查询详情,

_score:可以判断查询出来的数据谁最符合结果。

2 结果过滤

"_source": "{field}"

只查出字段为“name”和“age”的数据 

 

3 排序

"order":"desc"降序

"order":"asc"升序

"sort": [
    {
      "FIELD": {
        "order": "desc"
      }
    }
  ]

4 分页

两个参数:from 从第几个数据开始;size 返回多少条数据

从index为0开始,每一页为1个

"from": 0,
  "size": 1

5 布尔查询

多条件精确查询

must :类比于and,要全匹配

should :类比于OR,符合其中一个即可

must_not   不等于

6 过滤器

range:范围;gte:大于等于;lte:小于等于;gt:大于;lt:小于;eq:等于

"filter": [
        {"range": {
          "age": {
            "gte": 10,
            "lte": 20
          }
        }}
      ]

7 精确查询

term :精确查询,通过倒排索引查询的。

match :通过分词器分词查询 ,text类型可以被分词,keyword类型不能被分词。

GET test1/_search
{
  "query": {
    "term": {
      "age": 18
    }
  }
}

8 精确多查询

9 高亮查询

"highlight": {
    "fields": {
      "name": {}
    }
  }

自定义高亮样式

"pre_tags": "<p class='key' style='color:red'>",    前缀
 "post_tags": "</p>",                                            后缀

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值