ES区间查询

2020-04-10  本文已影响0人  响指_郭彦超

span_within

ES区间搜索query包含两部分:little和big;只有little term出现在big term之间的文档才会被返回

GET search_data/_search
{
  "size": 120, 
   "_source": "title", 
  "query": {
     "span_within": {
       "little": {
         "span_term": {
           "title": {
             "value": "大气"
           }
         }
       },
       "big": {
         "span_near": {
           "clauses": [
             {
               "span_term": {
                 "title": {
                   "value": "高端"
                 }
               }
             } ,
              {
               "span_term": {
                 "title": {
                   "value": "商务"
                 }
               }
             } ,
              {
               "span_term": {
                 "title": {
                   "value": "招聘"
                 }
               }
             } 
           ],
           "slop": 5,
           "in_order": true
         }
       }
     }
  }
}

结果:

{
        "_index" : "search_data",
        "_type" : "_doc",
        "_id" : "431983",
        "_score" : 13.440511,
        "_ignored" : [
          "xk_last_create_time"
        ],
        "_source" : {
          "title" : "高端商务大气企业招聘"
        }
      },
      {
        "_index" : "search_data",
        "_type" : "_doc",
        "_id" : "1121117",
        "_score" : 13.440511,
        "_ignored" : [
          "xk_last_create_time"
        ],
        "_source" : {
          "title" : "高端大气商务企业招聘"
        }
      }

可以看大"大气"必须出现在“高端”与“招聘”之间,

上一篇 下一篇

猜你喜欢

热点阅读