有没有办法查看查询是否匹配Elasticsearch中数组中的任何元素?

时间:2016-06-09 18:59:20

标签: json node.js mongodb elasticsearch

我有这个查询(例如'你好')和这个ID(例如' 12345')我想搜索与'中的查询匹配的内容。文'字段和'线程中的ID领域。但是给定的id是一个数组,所以逻辑是这样的:

function runThisQuery(query, ids) {
    client.search({        
    index: '_all',
    type: 'text',
    body: {
      query: {
        bool: {
          must: { 
            match: { text: query } 
          }, 
          should: [
            { match: { thread: { query: ids[0], operator: 'AND'} } },
            { match: { thread: { query: ids[1], operator: 'AND'} } }
          ],
          minimum_should_match: 1
        }
      }
    }
  })
}

是否有一个$ in运算符(如MongoDB中的那个)匹配线程,如果它在' ids'阵列?谢谢!

1 个答案:

答案 0 :(得分:1)

您可以像这样使用ids查询

{
  "filter": {
    "ids": {
      "type": "my_type",
      "values": [
        "12345","67891","12346"
      ]
    }
  }
}