我有一个数据库,我存储了300多万个不同语言标题的文档。 每个文档都有以下(简化)结构:
{name: "The Intouchables",
detail: {
original_title: "Intouchables"
spanish_title: "Intocable"
}
}
我的用户搜索西班牙语或英语。 Mongodb中的文本索引功能使您可以指定每个文档的语言和默认语言。考虑到这一点,您将如何设计一个出色的搜索引擎:
目前,我想调整Mongodb带来的内容,但如果他们真的改变游戏(Redis,Elasticsearch等),我会对其他技术持开放态度。
我已经完成了一些工作:
我使用default_language“none”索引了我的所有文档。由于存储了大量潜在的停用词,因此效率低下。如果我将default_language设置为英语或西班牙语,则由于停用词匹配而导致结果不准确(它会产生不相关的结果:例如,为标题为“The”的标题提供良好的分数......很多)。
一些想法:
_keywords
字段文本编入索引。