2017-05-01 85 views
1

全部,Azure搜索性能可篩選vs可搜索| filertable

在此先感謝您的幫助。我們正在考慮使用Azure Search在多租戶系統上進行一些新的開發。我有一個關於可搜索和可篩選的基本問題。在導入數據以從documentdb中搜索時,int/float/date類型不能被標記爲可搜索的,只能被過濾。這實際上是我們想要的。我們在搜索中使用Lucene API,並且必須支持範圍搜索。我的問題是,如果一個索引只被標記爲「可篩選」而「可篩選」是仍然「索引」的值,所以搜索速度很快,搜索不會導致「表掃描」(使用SQL術語道歉)。

要額外的功勞,有沒有像SQL Server中的搜索查詢分析器,這將幫助我們弄清楚這一點?

史蒂夫

回答

1

你是正確的,唯一的類型Edm.String與收藏(Edm.String)的字段可以標記爲可搜索。當一個字段被標記爲可搜索的時候,它將在被存儲在索引中之前經歷諸如斷字之類的分析。如果未標記爲可搜索,則此分析的結果會導致索引中消耗額外空間的空間與相同字段相比。

無法將定量字段類型(例如Edm.Int32或Edm.DateTimeOffset)標記爲可搜索,因爲此類數據不會從詞法分析中受益。但是,這些值仍將作爲Azure搜索索引的一部分,並且可以通過filter expressions以高性能方式查詢,這不會像SQL中的「表掃描」那樣運行。

不幸的是,Azure搜索沒有類似於SQL Server的查詢分析器。但是,Azure Search確實提供了一個Analyze API以瞭解提供該服務的各種分析器如何處理可搜索文本。隨意發佈查詢分析器的建議到我們的User Voice網站。

希望這會有所幫助!

Ashish

+0

完美答案。非常感謝。 –