如果不存在索引,则使用Elasticsearch中的批量处理器



我正在尝试索引文档,如果它在elasticsearch中尚不存在。在索引文档并使用Requests.add操作时,我正在使用BulkProcessor。有时我会拥有完全相同的ID,它不会自动添加,而是更新?

P.S。更新不是必需的,它可以保持原样。

p.s.2我试图将用户的过去推文集成到elasticsearch-twitter-river的用户流中。

如果您索引具有同一文档ID的文档,则它将进行更新。否则将添加一个新文档。

换句话说,如果您 PUT a doc to {index}/{type}/{id},则它将始终使用该ID更新(覆盖)文档。如果您 POST {index}/{type}的文档,则一般的elasticsearch将为您的每个帖子生成一个新文档。也就是说,除非您将文档字段映射到映射中的_id字段。

似乎Twitter河使用PUT方法明确指定ID,因此具有相同ID的推文可能会被覆盖。

最新更新