我有一个包含多个文档的elasticsearch索引,现在我想用一些新文档来更新索引,这些新文档也可能包含现有文档的副本。最好的方法是什么?我正在对所有CRUD操作使用elasticsearch py
最佳答案
elasticsearch中的每次更新都会删除旧文档并创建一个新文档,因为 flex 搜索中文档集合的最小单位称为segments,这是不可变的,因此,当您索引新文档或更新任何现有文档时,它将进入新段在merge process期间合并为更大的段。
现在,即使您有重复的数据但具有相同的ID,它也将替换现有文档,并它的性能和性能要比首先获取文档和比较两个文档以查看它们是否重复并丢弃更新/更好。来自应用程序的upsert请求,而不是仅仅索引索引(如果有的话),ES会再次插入重复的文档。
关于elasticsearch - 如何在现有的Elasticsearch索引中增补文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64098666/