我有一个数据记录,其中有一个名为标题的字段。记录可能同时具有不同的标题语言。这样的记录包含其他字段,其值不会随语言而变化,因此在以下两个示例中未列出它们:
Record #1: Title (English): Hello Record #2: Title (English): World Title (Spanish): mundo
当前,标题有四种可能的语言:英语,西班牙语,法语和中文。随着系统的发展,将支持更多的语言。
我是Elasticsearch的新手。我认为每种语言都有单独的索引。因此对于记录2,我将创建两个Elasticsearch文档(每种语言一个),并将文档发送到与其语言相对应的索引。
在索引,更新,删除和搜索方面,这是一个好的/可接受的设计吗?任何问题?
对于这种设计,我认为它至少具有以下好处:
感谢您的输入!
最好。
您的解决方案可能会正常工作,但是如果您开始允许多语言搜索,则可能会遇到重复文档的问题。
每个字段具有多个可能的值可能是最佳选择,例如:
您可以为每种语言使用完全不同的分析规则,而无需复制文档。
这种方法将进一步允许您为具有自己分析规则的文档的任何字段添加新标题。请注意,最后我检查了一下,如果使用全新的自定义分析器,则需要打开/关闭索引才能使其生效,这将导致几秒钟的停机时间。
我将尝试寻找一些时间以端到端的例子来扩展这个答案。