弹性搜索:为什么我的过滤查询什么都不返回?

时间:2014-09-27 05:59:09

标签: elasticsearch

我希望使用过滤器在其标题中获得包含“Obama”一词的文档结果。此查询返回任何内容,但第二个使用查询返回17000结果。 使用过滤器:

{
  "query": {
    "filtered": {
      "filter": {
        "term": {
          "title": "Obama"
        }
      }
    }
  }
}

使用查询:

{
  "query": {
    "match": {
      "title": "Obama"
    }
  }
}

1 个答案:

答案 0 :(得分:4)

第一个未分析(Term)。 第二个是(匹配)。

如果您将第一个更改为'obama'(小写),它将起作用。

为什么呢?因为您的文本已经在索引时进行了分析,而倒排索引包含'obama'而不是'Obama'。