无法获得前缀搜索以返回任何内容

时间:2014-09-09 20:22:59

标签: elasticsearch

我在新索引

上执行以下操作时得到0结果
GET /umd/_search
{
  "query":{
      "prefix": {
        "title":  "Family Guy"
      }
  }
}

但是这样做会返回正确的结果

GET /umd/_search
{
  "query": {
    "match_phrase": {
      "title": {
        "query": "Family Guy",
        "slop": 1
      }
    }
  }
}

如何才能使前缀搜索起作用?理想情况下,如果我搜索“家庭G”,我希望它能够返回记录

我是否必须将标题类型设置为“未分析”才能使前缀搜索生效? E.g。

"type": "string",
"index": "not_analyzed"

如何使用查询搜索词“Family Gu”进行match_phrase搜索?

1 个答案:

答案 0 :(得分:0)

  

我是否必须将标题类型设置为“未分析”才能使前缀搜索生效?

是的,你这样做。这里也提到: http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/prefix-query.html

话虽如此,我不推荐这种方法。它真的意味着快速演示/尖峰。为了获得更高效和可扩展的解决方案,我建议使用边缘n-gram。

http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_index_time_search_as_you_type.html