ES查询

1.复合查询

地址:http://10.0.0.109:9200/nhip-info-20230628/_search/

post

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{
  "size": 20,
  "query": {
    "bool": {
      "must": [
        { "match_all": { "boost": 1.0 } },
        {
          "match": {
            "logType": {
              "query": "sendreceiver",
              "operator": "OR",
              "prefix_length": 0,
              "max_expansions": 50,
              "fuzzy_transpositions": true,
              "lenient": false,
              "zero_terms_query": "NONE",
              "auto_generate_synonyms_phrase_query": true,
              "boost": 1.0
            }
          }
        },
        { "term": { "user.keyword": { "value": "QT-ZZJ", "boost": 1.0 } } },
        {
          "range": {
            "businessTime": {
              "from": "2023-06-28 00:00:00",
              "to": "2023-06-28 23:59:59",
              "include_lower": true,
              "include_upper": true,
              "format": "yyyy-MM-dd HH:mm:ss",
              "boost": 1.0
            }
          }
        }
      ],
      "adjust_pure_negative": true,
      "boost": 1.0
    }
  },
  "sort": [{ "businessTime": { "order": "desc" } }]
}

 2.查询脚本说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
{
    "query": {
        "bool": {
            "must": [
                //精确匹配HIS字段
                {"term": {"domain.keyword": "HIS"}},
                //通配符匹配带有0002字段  *代表一个或多个字符 ? 仅代表一个字符 注意:这个查询功能影响性能
                {"wildcard": {"localTransId.keyword": "*0002*"}}
            ],
            "filter": [
                //filter 类似于 SQL 里面的where 语句,同时 filter 可以将查询缓存到内存当中,这样可以大大加大下一次的查询速度 推荐使用filter
                //[]可以匹配多个值
                {"term": {"tag": ["tech","01"]}}
            ],
            "must_not": [
                //范围查询 gt: >  lt: <
                {"range": {"age": {"gt": "1","lt": "10"}}},
                //范围查询 gte: >=  lte: <=
                {"range": {"time": {"gte": "1","lte": "10"}}}
            ],
            "should": [
                //前缀查询wow
                {"prefix": {"tag": "wow"}},
                {"term": {"tag": "elasticsearch"}}
            ],
            //该参数控制一个文档必须匹配的should子查询的数量,默认0
            "minimum_should_match": 1
        }
    },
    //从哪个结果开始返回
    "from": 0,
    //定义返回最大的结果数
    "size": 10,
    //根据price字段排序 desc 降序 asc 升序
    "sort": [{"price":{   "order":"desc"}}],
    "aggs": {}
}

  3.match里一些模糊查找

 

 

 

 

4.term精确查找,有些类型是keyword,写法如下:

 如果不确定,可以在这里生成脚本参考:

 

 

posted on   巍巍之道  阅读(161)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示