MultiLanguage搜索引擎如何工作

时间:2017-08-25 06:23:25

标签: search elasticsearch youtube full-text-search google-search

今天,在youtube上搜索某些视频时,我发现即使您使用英语以外的其他语言搜索视频,youtube也可以返回相关结果。

尝试在google上搜索这个,但我得到的只是一些api来以编程方式执行此操作。有人可以对这背后的理论有所了解。论文/链接/解释,任何事都可以。

谢谢

1 个答案:

答案 0 :(得分:1)

当我使用elasticsearch完成此操作时,我只是为每个文档映射了多个字段,例如:

"text_val": {
  "type": "text",
  "fields": {
    "en": {
      "type": "text",
      "analyzer": "english"
    },
    "it": {
      "type": "text",
      "analyzer": "italian"
    }
  }
}

然后只搜索每个查询的两个字段。这很好用,对许多应用程序都足够好。但是,我确信谷歌正在做更复杂的事情,当然还要对索引文档和查询进行语言识别。如果您想要进行语言识别,我之前使用过python langid并且效果很好。

根据我的经验,使用弹性搜索来解决这个问题的问题不是多语言部分,而是英语以外语言的分析器不会总是像你想的那样工作。您可能必须编写一个自定义分析器,其中包含处理大量特殊情况的规则,并针对您的特定数据集进行了调整。