我有一个数据库,其中包含项目的关键字,以及不同语言的本地化(现在支持大约30种不同的语言),如果有任何项目的话。我希望能够使用Azure搜索来搜索这些项目。但是,我不确定如何设置索引体系结构。在这种情况下,我想到了两个解决方案:
我要么
1)每种语言都有不同的索引,并使用该语言的分析器作为该索引。稍后,当我想使用此索引进行搜索时,我还需要检测来自用户的查询语言,然后搜索与该语言对应的索引。
或
2)具有单个索引,其中包含许多与项目的不同本地化对应的字段。 Azure搜索在搜索时支持语言优先级,因此了解用户的语言可能会派上用场,但不一定是必须的。
我对这些东西不熟悉,所以任何指针,链接,想法等都会有很大的帮助,即使它没有直接回答这个问题。
答案 0 :(得分:4)
选项2是我们推荐的(具有单个索引,每种语言有一个字段)。您可以通过使用评分配置文件指定字段权重来设置一些静态优先级。如果您能够检测查询中使用的语言,则可以使用searchFields选项将搜索范围限定为该语言。