【问题标题】:Search with multiple languages on Azure Search在 Azure 搜索中使用多种语言进行搜索
【发布时间】:2017-04-03 23:45:21
【问题描述】:

我有一个数据库,其中包含项目的关键字,以及它们在不同语言中的本地化(目前支持大约 30 种不同的语言),如果该项目有的话。我希望能够使用 Azure 搜索来搜索这些项目。但是,我不确定如何设置索引架构。在这种情况下,我想到了两个解决方案:

我会的

1) 每种语言都有不同的索引,并为该索引使用该语言的分析器。以后想用这个索引搜索的时候,还需要检测用户的查询语言,然后在该语言对应的索引上搜索。

2) 有一个索引,其中包含许多字段,这些字段对应于项目的不同本地化。 Azure 搜索支持在搜索时设置语言优先级,因此了解用户的语言可能会派上用场,但不一定是必须的。

我对这些东西有点陌生,所以任何指针、链接、想法等都会有巨大的帮助,即使它不能直接回答问题。

【问题讨论】:

    标签: azure search localization azure-cognitive-search


    【解决方案1】:

    我们推荐选项 2(使用单个索引,每种语言有一个字段)。您可以通过使用评分配置文件分配字段权重来设置一些静态优先级。如果您能够检测到查询中使用的语言,则可以使用 searchFields 选项将搜索范围限定为该语言。

    【讨论】:

    • 谢谢布鲁斯,我会尝试这种方法。我不确定是否可以检测到查询中使用的语言,但我可以尝试使用用户的位置来预测语言。
    • 选项1有什么问题?
    • 选项 1 的两个问题:首先,语言检测很难。其次,您可能希望允许使用多种不同语言中的一种进行搜索。将数据放在不同的索引中意味着您必须执行多个查询,并自己找到协调多个结果的方法。
    • @BruceJohnston 如果您已经了解用户的语言,那么问题 1 和 2 并不适用。但是,我认为选择选项 2 仍然有意义,因为它是 a)。更便宜和b)。查询逻辑更简单,因为您只更改查询字符串而不更改 URL。让我知道你的想法?
    • 在成本或性能方面更便宜?此外,必须协调来自多个索引的结果比构建请求的方式上的任何差异要困难得多。
    猜你喜欢
    • 1970-01-01
    • 2019-05-04
    • 1970-01-01
    • 1970-01-01
    • 2014-11-29
    • 2017-04-05
    • 2015-11-28
    • 1970-01-01
    • 2020-10-09
    相关资源
    最近更新 更多