[英]Elasticsearch multi term search
我正在使用Elasticsearch允許用戶鍵入要搜索的術語。 例如,我要搜索以下屬性“名稱”:
'name': 'The car is black'
如果以下內容用於搜索black car
或car black
我想退回此文檔。
我嘗試做一個布爾值必須做多個術語['black', 'car']
但似乎只有在整個字符串都是匹配的情況下它才有效。
因此,我真正想做的是,該術語是否以任何順序包含兩個詞?
有人可以讓我走上正確的路嗎? 我一直在這頭上撞了一段時間。
如果看起來只有在整個字符串都匹配時才起作用,請首先確保在索引映射中分析了字符串屬性name
,即此屬性的映射不包含 "index": "not_analyzed"
。 如果不是這樣,則需要重新索引索引,以便能夠搜索標記,而不是僅搜索整個短語。
一旦確定要分析字符串,就可以使用:
"minimum_should_match"
參數等於輸入的單詞數的字詞查詢。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.