gpt4 book ai didi

elasticsearch - Elasticsearch:对同一数据记录的每种语言使用单独的索引

转载 作者:行者123 更新时间:2023-12-02 22:20:40 26 4
gpt4 key购买 nike

我有一个数据记录,其中有一个名为标题的字段。记录可能同时具有不同的标题语言。这样的记录包含其他字段,其值不会随语言而变化,因此在以下两个示例中未列出它们:

Record #1:
Title (English): Hello

Record #2:
Title (English): World
Title (Spanish): mundo

当前,该标题有四种可能的语言:英语,西类牙语,法语和中文。随着系统的发展,将支持更多的语言。

我是Elasticsearch的新手。我认为每种语言都有单独的索引。因此对于记录2,我将创建两个Elasticsearch文档(每种语言一个),并将文档发送到与其语言相对应的索引。

在索引,更新,删除和搜索方面,这是一个好的/可以接受的设计吗?任何问题?

对于这种设计,我认为它至少具有以下好处:
  • 我可以轻松决定每种语言需要多少个分片
    独立
  • 我可以确定索引(语言)的分片的数量和位置
  • 当系统扩展时,我可以轻松地为新语言添加索引
    销毁或重新索引现有数据。
  • 系统可以最大程度地利用分布式计算
    功率

  • 感谢您的输入!

    最好。

    最佳答案

    您的解决方案可能会正常工作,但是如果您开始允许多语言搜索,则可能会遇到重复文档的问题。

    每个字段具有多个可能的值可能是最佳选择,例如:

  • title.engligsh
  • title。西类牙语

  • 您可以为每种语言使用完全不同的分析规则,而无需复制文档。

    这种方法将进一步允许您为具有自己的分析规则的文档的任何字段添加新标题。请注意,最后我检查了一下,如果您使用全新的自定义分析器,则需要打开/关闭索引才能使其生效,这将导致几秒钟的停机时间。

    我将尝试寻找一些时间来扩展此答案,并提供一个端到端的示例。

    关于elasticsearch - Elasticsearch:对同一数据记录的每种语言使用单独的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24685864/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com