2016-11-20 80 views
0

我有一個數據庫,其中包含項目的關鍵字以及它們在不同語言中的本地化(現在支持大約30種不同的語言),如果該項目有任何項目。我希望能夠使用Azure搜索來搜索這些項目。但是,我不確定如何設置索引體系結構。兩種解決方案來我的心在這樣的場景:在Azure搜索上使用多種語言搜索

要麼我會

1)必須爲每種語言不同的索引,並使用該語言的分析儀,用於該索引。稍後,當我想使用此索引進行搜索時,我還需要檢測來自用戶的查詢語言,然後搜索與該語言相對應的索引。

2)具有很多對應於該項目的不同本地化字段的單一索引。 Azure搜索在搜索時支持語言優先級,因此瞭解用戶的語言可能會派上用場,但不一定是必須的。

我對這個東西很陌生,所以任何指針,鏈接,想法等都會有很大的幫助,即使它沒有直接回答問題。

回答

3

選項2是我們推薦的選項(每個語言有一個字段的單個索引)。您可以通過使用評分配置文件分配字段權重來設置一些靜態優先級。如果您能夠檢測查詢中使用的語言,則可以使用searchFields選項將搜索範圍限定爲僅使用該語言。

+0

謝謝布魯斯,我會嘗試這種方法。我不確定是否可以檢測查詢中使用的語言,但我可以嘗試使用用戶的位置來預測語言。 – halileohalilei

+1

選項1的問題是什麼? –

+0

選項1有兩個問題:首先,語言檢測很困難。其次,您可能希望允許使用多種不同語言之一進行搜索。擁有不同索引中的數據意味着您必須執行多個查詢,並找到一些自己協調多個結果的方法。 –