我正在尝试索引文档,如果它在elasticsearch中不存在。我在为文档编制索引并使用BulkProcessor
操作时使用Requests.add
。我有时会拥有完全相同的ID,是不是自动添加,而是更新?
P.S。更新不是必需的,它可以保持原样。
P.S.2我正在尝试将用户过去的推文整合到elasticsearch-twitter-river的用户流中。
答案 0 :(得分:1)
如果您使用相同的文档ID索引doc,那么它将进行更新。否则它将添加一个新文档。
换句话说,如果您PUT
提交了{index}/{type}/{id}
的文档,那么它将始终使用该ID更新(覆盖)文档。如果您POST
提交了{index}/{type}
的文档,那么通常Elasticsearch会为您的每个POST生成一个新文档。也就是说,除非你mapped a document field to the _id
field in mappings。
似乎Twitter River uses the PUT method with explicitly specifying the id所以具有相同ID的推文可能会被覆盖。