能否让我知道在弹性搜索我的方案中索引记录的最佳方法。
我的场景是:
1)需要从oracle表中索引约4000万条记录,该表的条目具有一对多的关系记录。而且记录的唯一性是基于4列的组合键
2)建立索引后,搜索应在所有字段上支持“全文本搜索”
3)需要支持对选定字段的过滤和排序。
浏览了官方文档后,我发现了几种选择,但想知道下面哪种方法最有用
1)为表中的每个记录在弹性索引中创建一个条目
2)根据复合键创建一个嵌套的json对象,然后添加此弹性索引
3)父子关系机制和应用程序侧联接不适合我的情况
谢谢
Girish T S
答案 0 :(得分:0)
您的问题不是特别清楚,这是我的理解:您在一个表中有4000万个子记录,每个子记录都引用了一个父记录。 您希望索引记录,以便能够搜索其子项符合特定条件的父记录。
这里有两种解决方案:
为每个父级索引一个文档,所有子级都被索引为父级内的嵌套文档
将每个子记录作为一个单独的文档编制索引,并在ElasticSearch中使用parent-child relationship
第一个解决方案将具有更好的性能,但这意味着每次更新子级时,都必须使用其所有子级重新索引完整的父文档。
无论如何,您要说的是父子方案不适合您的情况,因此您只剩下第一个解决方案。