elasticsearch 从一对多关系的关系数据库表中索引数据的最佳方法是什么,elasticsearch,full-text-search,elasticsearch-6,elasticsearch,Full Text Search,Elasticsearch 6" /> elasticsearch 从一对多关系的关系数据库表中索引数据的最佳方法是什么,elasticsearch,full-text-search,elasticsearch-6,elasticsearch,Full Text Search,Elasticsearch 6" />

elasticsearch 从一对多关系的关系数据库表中索引数据的最佳方法是什么

elasticsearch 从一对多关系的关系数据库表中索引数据的最佳方法是什么,elasticsearch,full-text-search,elasticsearch-6,elasticsearch,Full Text Search,Elasticsearch 6,你能告诉我,在弹性搜索我的场景中,哪种方法是索引记录的最佳方法 我的设想是: 1) 需要从oracle表中索引大约4000万条记录,该表的条目具有一对多关系记录。记录的唯一性基于具有4列的复合键 2) 索引后,搜索应支持所有字段的“全文搜索” 3) 需要支持对选定字段进行筛选和排序 在浏览了官方文档之后,我发现了两种选择,但我想知道下面哪种方法最有用 1) 对于表中的每条记录,在弹性索引中创建一个条目 2) 基于复合键创建嵌套json对象,然后添加此弹性索引 3) 父子关系机制和应用程序端联接不

你能告诉我,在弹性搜索我的场景中,哪种方法是索引记录的最佳方法

我的设想是:

1) 需要从oracle表中索引大约4000万条记录,该表的条目具有一对多关系记录。记录的唯一性基于具有4列的复合键

2) 索引后,搜索应支持所有字段的“全文搜索”

3) 需要支持对选定字段进行筛选和排序

在浏览了官方文档之后,我发现了两种选择,但我想知道下面哪种方法最有用

1) 对于表中的每条记录,在弹性索引中创建一个条目

2) 基于复合键创建嵌套json对象,然后添加此弹性索引

3) 父子关系机制和应用程序端联接不适合我的场景

谢谢


Girish T S

您的问题不是特别清楚,我是这样理解的:一个表中有4000万个子记录,每个子记录都引用了一个父记录。 您希望为记录编制索引,以便能够搜索其子项符合特定条件的父记录

这里有两种解决方案:

  • 为每个父级一个文档编制索引,所有子级都作为父级中的嵌套文档编制索引

  • 使用in-ElasticSearch将每个子记录作为单独的文档进行索引

第一种解决方案将具有更好的性能,但这意味着每次更新一个子文档时,必须将整个父文档与其所有子文档重新编制索引

在任何情况下,你都是说亲子计划不适合你的情况,所以你只剩下第一个解决方案