elasticsearch - 如何在现有的Elasticsearch索引中增补文档?

标签 elasticsearch elasticsearch-py

我有一个包含多个文档的elasticsearch索引,现在我想用一些新文档来更新索引,这些新文档也可能包含现有文档的副本。最好的方法是什么?我正在对所有CRUD操作使用elasticsearch py

最佳答案

elasticsearch中的每次更新都会删除旧文档并创建一个新文档,因为 flex 搜索中文档集合的最小单位称为segments,这是不可变的,因此,当您索引新文档或更新任何现有文档时,它将进入新段在merge process期间合并为更大的段。
现在,即使您有重复的数据但具有相同的ID,它也将替换现有文档,并它的性能和性能要比首先获取文档和比较两个文档以查看它们是否重复并丢弃更新/更好。来自应用程序的upsert请求,而不是仅仅索引索引(如果有的话),ES会再次插入重复的文档。

关于elasticsearch - 如何在现有的Elasticsearch索引中增补文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64098666/

相关文章:

curl - 如何将当前日期插入curl命令?

elasticsearch - Liferay在Kibana的时区名称是什么?

symfony - 未找到 Elasticsearch 服务

elasticsearch - ElasticSearch完成提示标准分析器不起作用

elasticsearch - 使用ElasticSearch轻松编写脚本来计算dayOfWeek或timeOfDay

python - 使用elasticsearch-py关闭与Elasticsearch集群的连接

python - Elasticsearch Python API 的简单查询结果为 "search() missing 1 required positional argument"

python - 使用源过滤器进行elasticsearch-py搜索

python - 如何配置 elasticsearch 以使用具有基本身份验证的 SSL

python - Elasticsearch 如何查询高于 x 的 ID 字段