我正在尝试为 flex 搜索中尚不存在的文档建立索引。我在为文档建立索引并使用BulkProcessor
操作时使用Requests.add
。有时我会有完全相同的ID,它不会自动添加,但会更新吗?
附言更新不是必需的,它可以保持原样。
P.S.2我正在尝试将用户过去的推文集成到elasticsearch-twitter-river的用户流中。
最佳答案
如果您为具有相同文档ID的文档编制索引,则它将进行更新。否则它将添加一个新文档。
换句话说,如果您将文档PUT
编码为{index}/{type}/{id}
,它将始终使用该ID更新(覆盖)文档。如果您将文档从POST
编码为{index}/{type}
,则通常Elasticsearch将为每个POST生成一个新文档。也就是说,除非您mapped a document field to the _id
field in mappings。
看来具有相同ID的Twitter River uses the PUT method with explicitly specifying the id这样的推文可能会被覆盖。
关于twitter - 如果在Elasticsearch中使用批量处理器不存在索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30020017/