2015-02-08 84 views
3

對短語查詢可以使用minimum_should_match嗎?例如,「快速棕色狗」可以匹配"I have a quick dog",並且得分高於"dogs run around but the cat is quick",假設足夠高的坡度和最小匹配「2」。elasticsearch - minimum_should_match +短語查詢

我找不到任何這樣的例子。如果短語匹配不能做到這一點,是否有另一種方法來實現這一點?

+0

只是試過了,它似乎不支持。所以真正的問題是如何以另一種方式實現這一點。 – Yehosef 2015-02-08 11:15:35

回答

1

我看到有這個問題upvotes所以我會張貼我如何接近它。我把短語「快狗」(#1)分成三個新短語「快棕」(#2)「快狗」(#3)和「棕狗」(#4),並將這三個短語以及作爲bool查詢的一部分的原始文檔(每個都是「應該」條款)

我給I have a quick dog的第一個示例文檔將僅匹配#3,第二個文檔將不匹配它們中的任何一個,因此第一份文件將匹配,這是我後

在這個例子中,我想最小值2字匹配 - 如果你需要更多的,你會創建更大瓦

僅供參考 - 我想這也可能有可能使用一個平板標記過濾器(https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-shingle-tokenfilter.html)。有關更多信息,請參見Elastic search- search_analyzer vs index_analyzer。我沒有嘗試這個,我也不確定它是否適用於短語查詢和斜坡 - 但如果它確實會很好。