這個問題處理了一個非常相似的主題,但我找不到我正在尋找的解決方案。 How to practially use a keywordanalyzer in azure-search?Azure搜索:如何獲取包含檢索詞的文檔
啓動狀態:
我創建了多個索引的資源。其中一個索引包含一個Collection(Edm.String)字段。 從這個領域,我只想獲得包含搜索詞的文檔。例如,該字段包含如下的文檔:「氣墊船零」,「氣墊船一」,「氣墊船二」。 如果搜索詞是「懸停」,則應返回所有三個文檔。如果搜索項是「craft zer」,則只應返回文檔「Hovercraft zero」。該文件不應該得到更高的分數,所需的行爲是我只得到「氣墊船零」文件作爲結果。
更多信息:
這是不可能的設置所述搜索到所有的(就像是在頂部的問題recomended),因爲我只想設置此行爲這一特定領域,而不是對所有searchqueries 。也不可能讓用戶的責任用引號輸入搜索詞。
我試過至今:
- 使用關鍵字分析器就像是在這個問題上 上面描述:沒有成功
- 使用帶有特定標記的過濾器的indexanalyzer(NGRAM, 小寫)和作爲關鍵字分析器的搜索分析器:不成功
- 使用Charfilters來操縱搜索詞並手動設置第一個和最後一個位置(craft zer - >「craft zer」)上的 引號。 與上面問題中解釋的Yahnoosh一樣,查詢解析器 在應用分析器之前處理查詢字符串。所以: 沒有成功
有沒有解決這個問題的方法? 或者還有其他的方法來達到預期的行爲嗎?
希望有人可以提供幫助。
在此先感謝!
很好的答案,謝謝。但我認爲我沒有詳細解釋我們的問題。我知道可以像這樣操縱搜索查詢,但遺憾的是,它不是我們的選擇。我們在用戶插入搜索詞的主頁上實施了一個搜索欄。然後我們通過API將這個術語傳遞給我們的資源來瀏覽我們的一個索引。因此不可能操縱每一個搜索查詢。我正在尋找一個解決方案,只有這個索引的一個領域被自動查詢所需的行爲。其他領域應該以其他方式查詢。 – maxhoefler