2013-01-16 46 views
1

此字符串索引“Lorem存有胡萝卜,增强回扣,但他们occaecat时间和活力,如劳动力和肥胖。”你如何为不完全索引的文本ElasticSearch匹配查询的结果?

我的查询是:“ 世界,你好 Lorem存有胡萝卜,增强回扣,但他们occaecat时间和活力,如劳动和肥胖其他文本

1个时运行1个查询没有结果。 1:如何才能得到结果,如果我在它是“垃圾”文本查询?

凌晨1时使用Django,草垛和ElasticSearch。

+0

这是一种剽窃探测器? 1个personally'm只是好奇,为什么你会做一个文本搜索垃圾精确匹配+ :) –

+0

没有抄袭,但非常相似的形式与一些灵活的文本的情况。 – hekevintran

回答

2

如果使用“匹配”与“或”默认查询操作,那么你会得到其中的任何字匹配,其中很多命中的哪里话匹配的排名将上述命中,但是命中几个单词匹配。

http://www.elasticsearch.org/guide/reference/query-dsl/match-query.html

但是,如果你的意思是你只想匹配,准确的词,但允许在两端一些附加的文字,1'm不知道你可以做正是。

一个选项,如果你可以放松要求的精确短语匹配,将是分析用鹅卵石采取过滤的文件(和查询)。

http://www.elasticsearch.org/guide/reference/index-modules/analysis/shingle-tokenfilter.html

然后,匹配查询与“或”运营商将在对,三胞胎,四边形等操作字的(取决于过滤器配置)。设置鹅卵石大小只有2或3将使不太可能包含许多相同的词作为查询(偶然)的文件会得高分。

或者你可以使用带有斜坡短语查询(见上页匹配查询的底部)。

这两种方法将允许插入,以及前缀/后缀虽然。

+0

精确短语匹配是不是我的目标。匹配查询和鹅卵石采取的方法看起来很有希望。 – hekevintran

相关问题