2017-09-14 147 views
2

在sql azure中的數據,我們有一個現有的webapi暴露與odata的數據。問題是客戶希望在幾列上使用具有子字符串查詢的過濾器進行調用,這會使性能非常低下。我們此時正在辯論是否使用全文搜索索引或使用天藍色的搜索服務,請考慮一下?Azure搜索或全文索引?

+1

您可以同時測試並查看哪些方案爲您的方案提供了更好的性能,但是我發現Azure搜索功能更強大:https://docs.microsoft.com/en-us/azure/search/search-what-is-azure -search – TheGameiswar

+0

謝謝,天青搜索是否支持邏輯多列子字符串過濾?例如substringof('Alfreds',CompanyName)或substringof('adam',Name)或substringof('manager',title)? –

+0

我從來沒有嘗試過,但它似乎更強大基於文檔 – TheGameiswar

回答

1

您可以將Azure搜索指向AzureSQL數據庫,並且無需編寫代碼即可將其編入索引,但Azure搜索是您必須按小時支付的服務,您可以瞭解有關它的更多信息here

Azure的搜索建議,用於對各種來源的搜索和應用

Azure的搜索可以用來代替全文搜索,但如果你需要加入與其他表的搜索結果,然後全文搜索是推薦的。

希望這會有所幫助。

+0

謝謝,天藍色搜索支持邏輯多列在同一個表子字符串過濾器?例如substringof('Alfreds',CompanyName)或substringof('adam',Name)或substringof('manager',title)? –

+0

據我所知,除了前綴匹配,Azure搜索不支持部分匹配。有關此URL的更多信息,請參閱https://docs.microsoft.com/en-us/rest/api/searchservice/Simple-query-syntax-in-Azure-Search?redirectedfrom=MSDN –

+0

我認爲它支持包含,但與我的2分鐘左右捅了它確實出現搜索只支持前綴,例如家*工作,但*家*沒有返回任何東西,或者我錯過了什麼,這只是傷心,不是全文搜索 –