什么是多语言搜索的最佳搜索引擎设计?

时间:2014-12-26 21:51:05

标签: ruby-on-rails ruby mongodb mongoid

我有一个数据库,我存储了300多万个不同语言标题的文档。 每个文档都有以下(简化)结构:

{name: "The Intouchables",
  detail: {
    original_title: "Intouchables"
    spanish_title: "Intocable"
  }
}

我的用户搜索西班牙语或英语。 Mongodb中的文本索引功能使您可以指定每个文档的语言默认语言。考虑到这一点,您将如何设计一个出色的搜索引擎

  • 快速搜索(我想尽快合并自动填充)标题
  • 准确
  • 用户可以搜索英语或西班牙语

目前,我想调整Mongodb带来的内容,但如果他们真的改变游戏(Redis,Elasticsearch等),我会对其他技术持开放态度。

我已经完成了一些工作:

我使用default_language“none”索引了我的所有文档。由于存储了大量潜在的停用词,因此效率低下。如果我将default_language设置为英语或西班牙语,则由于停用词匹配而导致结果不准确(它会产生不相关的结果:例如,为标题为“The”的标题提供良好的分数......很多)。

一些想法:

  • 使用mongoid_search(基于指定字段的关键字)并将_keywords字段文本编入索引。
  • 指定西班牙语标题的语言覆盖。同时进行英语和西班牙语搜索(两个查询)并交叉结果(不是大粉丝)。

0 个答案:

没有答案