Elasticsearch必须且必须不按预期工作

时间:2016-06-27 15:29:03

标签: javascript node.js elasticsearch

我试图运行查询,如下所示:

query = {
  "filtered": {
    "filter": {
      "bool": {
        "must_not": [{"term":{"text":"exclude_word"}}],
        "must": [{"term":{"text":"include_word"}}]
      }
    },
    "query": {
      "dis_max": {
        "queries": [
          {"match": {"text": "search_term"}},
          {"match": {"title": "search_term"}}
        ]
      }
    }
  }
}
}
client.search(
{
  index: 'docs',
  body: {
      from: start_page,
      size: 10,
      query: query,
      highlight : {
        fields : {
          text : {
          }
        }
      }
  })

此查询的目的是在所有文档中搜索" search_term"并排除包含" exclude_word"的文件并且不包含" include_word"在他们的文本领域。

我的问题是它似乎没有过滤掉包含exclude_word的文档。假设" start_page"是一个变量我正在更新,并且它与寻呼前端一起正常工作。

我的文本字段将按以下格式进行分析:

"text": ["sentence 1", "sentence 2", "sentence 3"]

此外,client.search部分只是我正在使用的node.js的API,它工作正常,可以忽略。

0 个答案:

没有答案