我在新索引
上执行以下操作时得到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搜索?
答案 0 :(得分:0)
我是否必须将标题类型设置为“未分析”才能使前缀搜索生效?
是的,你这样做。这里也提到: http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/prefix-query.html
话虽如此,我不推荐这种方法。它真的意味着快速演示/尖峰。为了获得更高效和可扩展的解决方案,我建议使用边缘n-gram。