有时,我会有一组新的文档,这些文档将“替换”旧的一组文档。我想仍然可以使用旧的文档集进行历史数据分析。但是,我主要希望仅搜索新的文档集。
解决此问题的一种方法似乎是为每个分组创建一个新索引。并且仅搜索最新的索引集。但是,每次更新发生时,索引将成千上万。这是最佳策略还是另外一种更好的方法?
由于elasticsearch最初是为必须经常遇到此类问题的搜索引擎而开发的,我很惊讶没有一个更明显的解决方案。
弹性搜索内置的版本控制系统仅跟踪索引文档的版本号,而不维护历史数据。
您必须自己实现。您可以通过多种方式执行此操作1.您可以将历史数据存储在文档本身中
{
"id":1,
"content":"abc",
"version":[
{"timestamp":"2019-10-01","content":""},
{"timestamp":"2019-10-02","content":""}
]
}
This will bloat your documents and if content is large will cause performance issue.
2.您可以将具有不同版本号的不同版本文档存储在同一索引中。
{
"id":1,
"context":"",
"version":1
},
{
"id":1,
"context":"",
"version":2,
"Iscurrent":"true"
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句