[elasticsearch笔记] Query DSL-intervals

本文详细探讨了Elasticsearch中的Query DSL,重点介绍了intervals如何满足不同部分的查询需求,包括match、multi_match、should和match_bool_prefix等查询方式。同时,文章还提到了common和term查询,特别是term查询对高频词和低频词的处理差异,以及query_string和simple_query_string的使用场景。
摘要由CSDN通过智能技术生成

intervals 满足不同部分Query

POST _search
{
  "query": {
    "intervals": {
      "my_text": {
        "all_of": {
          "ordered": true,
          "intervals": [
            {
              "match": {
                "query": "my favourite food",
                "max_gaps": 0,
                "ordered": true
              }
            },
            {
              "any_of": {
                "intervals": [
                  {
                    "match": {
                      "query": "hot water"
                    }
                  },
                  {
                    "match": {
                      "query": "cold porridge"
                    }
                  }
                ]
              }
            }
          ]
        },
        "_name": "favourite_food"
      }
    }
  }
}

POST _search
{
  "query": {
    "intervals" : {
      "my_text" : {
        "match" : {
          "query" : "hot porridge",
          "max_gaps" : 10,
          "filter" : {
            "not_containing" : {
              "match" : {
                "query" : "salty"
              }
            }
          }
        }
      }
    }
  }
}

POST _search
{
  "query": {
    "intervals" : {
      "my_text" : {
        "match" : {
          "query" : "hot porridge",
          "filter" : {
            "script" : {
              "source" : "interval.start > 10 && interval.end < 20 && interval.gaps == 0"
            }
          }
        }
      }
    }
  }
}

POST _search
{
  "query": {
    "intervals" : {
      "my_text" : {
        "match" : {
          "query" : "salty",
          "filter" : {
            "contained_by" : {
              "match" : {
                "query" : "hot porridge"
              }
            }
          }
        }
      }
    }
  }
}

POST _search
{
  "query": {
    "intervals": {
      "my_text": {
        "all_of": {
          "intervals": [
            {
              "match": {
                "query": "the"
              }
            },
            {
              "any_of": {
                "intervals": [
                  {
                    "match": {
                      "query": "big"
                    }
                  },
                  {
                    "match": {
                      "query": "big bad"
                    }
                  }
                ]
              }
            },
            {
              "match": {
                "query": "wolf"
              }
            }
          ],
          "max_gaps": 0,
          "ordered": true
        }
      }
    }
  }
}

POST _search
{
  "query": {
    "intervals": {
      "my_text": {
        "any_of": {
          "intervals": [
            {
              "match": {
                "query": "the big bad wolf",
                "ordered": true,
                "max_gaps": 0
              }
            },
            {
              "match": {
                "query": "the big wolf",
                "ordered": true,
                "max_gaps": 0
              }
            }
          ]
        }
      }
    }
  }
}

match/multi_match/should/match_bool_prefix


GET /_search
{
  "query": {
    "match": {
      "mess
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值