Elasticsearch短语搜索产生意外结果

时间:2014-12-17 14:49:02

标签: elasticsearch django-haystack

我在Ubuntu Linux机器上使用Elasticsearch 1.4.1,使用Haystack 2.3.1搜索Django 1.5站点。我使用EdgeNGram字段为文档文本设置了搜索索引,除了在SearchView中对searchqueryset进行了一些过滤之外,我有一个非常标准的设置(我认为:)),而不是在haystack中设置硬编码的min_gram设置后端是1。

这个问题是我this one的后续问题(并且已经回答了,感谢堆栈溢出!),但我认识到我/看到的行为与两个问题有关。第一个与min_gram相关,不允许将短标记编入索引,现在已修复。

我看到的下一个问题与短语查询的长度有关,似乎区分了它的处理方式。愚蠢的例子来显示这个(min_gram为1):

短语查询" 1 A abc de fghijk"将完全符合您的期望 - 只包含恰好包含该短语的文档。

短语查询" 1然而,abc"将返回带有1,A或abc的文档,更像是非短语搜索。

根据弹性搜索的长度,弹性搜索中的查询是否有不同的分析/处理?如果是这样,有没有办法改变这个最低限度?如果没有,关于还有什么可能导致这种行为的任何想法?我没有在文档中看到任何暗示这一点的内容,但显然在文档中有很多内容,也许我错过了一些内容。

0 个答案:

没有答案