假设以下内容:
我有一个实体“生产者”,其中有一个“id”,一个“alias”和其他属性。别名是可变的。
然后我有一个实体“items”,它具有一些属性并由生产者生产(在关系数据库中,它在“producer.id”上有一个外键)。
现在假设我想让用户搜索项目,而生产者的别名也是在items-search中进行搜索的选项。
我也可以搜索生产者。
所以我有一个索引“生产者”和一个索引“物品”。
在items-search中搜索别名的最佳方法是什么?

  • 我是否将“alias”添加为“items”索引中的字段(如果不经常发生别名更改,这意味着我必须重新索引)

  • 要么
  • 我是否首先使用别名搜索生产者,并使用ID在第二个请求中搜索商品? (然后我将id字段添加到items-index)

  • 提前致谢!

    最佳答案

    从性能和实现的 Angular 来看,父子关系成本很高,当您对数据进行非规范化时,以及在一起需要的所有数据都可用时,分布式系统的主要功能和功能便会发挥作用。
    第一种选择是可伸缩应用程序的一种非常普遍且普遍使用的首选方法,而且对于您而言,它的成本更低,因为您提到它的更新频率不是很高。因此建议您选择第一种方法,但是您始终可以自己比较性能和实现,并根据用例选择最合适的方法。

    关于elasticsearch - Elasticsearch:更新索引或执行两个请求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64594621/

    10-14 13:29
    查看更多