2013-01-16 77 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

相關問題