2017-08-28 61 views
0

我是Azure Search的新用戶。我正在嘗試在我的搜索查詢中使用"contains"邏輯。我查了一下,發現我需要在搜索查詢中添加如下內容。Azure搜索包含字未按預期方式工作

&queryType=full&search=/.*_search.*/ 

其中_search我要搜索的字符串中。現在發生的是「包含」邏輯工作正常。例如,我試圖搜索,掃描,我得到以及sweep-cmu的結果。

但是,當我搜索以及sweep-cmu時,我得到零結果。爲什麼?以及如何在輸入部分字符串和完整字符串時改進查詢以獲取結果。

回答

1

如果要爲搜索查詢完全匹配,請用雙引號括起查詢。 例如:「well sweep-cmu」 這將返回包含確切短語的所有文檔。

由於您剛開始使用Azure Search,因此您可能會發現這篇文章特別有趣。它解釋了全文搜索在Azure搜索中的工作原理。 https://docs.microsoft.com/en-us/azure/search/search-lucene-query-architecture

爲了獲得部分條款的結果,您應該在搜索查詢中使用通配符表達式。上面的文章詳細解釋了這一點。 PS:有些通配符查詢可能非常昂貴,因此速度很慢。

+0

我嘗試使用'「&queryType = full&search = /。*」+ _search +「。*/|」 + _search',它給了我迄今爲止所需的結果。 我想現在它結合了'包含'邏輯和全文搜索。用引號(「well sweep-cmu」)進行搜索,也可以使用上面的查詢給出確切的結果。 –