2013-10-31 258 views
-1

我正在使用Tire(ElasticSearch Ruby gem),並希望匹配關鍵字「社區營銷」上的幾個字段。不過,我也希望ElasticSearch也返回關鍵字「社區營銷」的結果。標準分析器不會將「社區」解析/標記爲「社區」,因此它們是單獨的關鍵字。ElasticSearch:匹配多個查詢

如何讓ElasticSearch返回「社區營銷」和「社區營銷」的結果?我更喜歡在查詢時間內完成此操作,而不是索引時間。我對ElasticSearch標準分析儀很滿意,並且不想惹惱它。

fields = ["title", "popular_hash_tags"] 
keyword = "communities marketing" 
keyword2 = "community marketing" 

s = Tire.search "articles" do 
    query do 
     match fields, keyword, :operator => "AND" 
     #NOW I also want to match keyword2?? 
    end 
end 
+0

你說你不想處理不斷變化的分析儀,但它聽起來像你應該考慮它。這種情況是有一個詞幹的典型原因。 ['英文'分析器](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/analysis-lang-analyzer.html)應該爲您處理這個問題。我處理複數和其他後綴等。 – femtoRgon

回答