一尘不染

在Elasticsearch中使用一个值的属性查询多个值

elasticsearch

我试图在此查询上建立一点点。我正在搜索的索引也有一个带有ID的“实体”字段。因此,根据实体的ID,一些记录将具有“实体”:16,“实体”
156等。我需要以一种可以传递数组或值列表的方式来扩展此查询,例如{:term => {:entity =>
[1,16,100]}}},并获取具有以下内容的记录:这些整数之一作为其实体值。到目前为止我还没有运气,有人可以帮我吗?

{ 
  "query" : {

    "bool" : {
      "must" : [
        {
          "term" : {"user_type" : "alpha"}
        }, 
        { 
          "term" :{"area" : "16"}
        }
      ], 
      "must_not" : [], 
      "should" :   []
    }
  }, 
  "filter": {
    "or" : [{
       "and" : [
          { "term" : { "area" : "16" } },
          { "term" : { "date" : "05072013" } }
       ]
    }, {
       "and" : [
          { "term" : { "area" : "16" } },
          { "term" : { "date" : "blank" } }
       ]
    }


    ]
  },
"from" : 0,
"size" : 100 
}

阅读 1310

收藏
2020-06-22

共1个答案

一尘不染

使用"terms"代替"term"

https://www.elastic.co/guide/zh-CN/elasticsearch/reference/current/query-dsl-
terms-
filter.html

{ "terms" : { "entity" : [ 123, 1234, ... ] }}

2020-06-22