我想索引一個文件,如果它不存在在elasticsearch中。索引我的文檔和使用Requests.add
操作時,我正在使用BulkProcessor
。我有時會得到完全相同的ID,它是否會自動添加,但更新?索引如果不存在使用elasticsearch中的批量處理器
P.S.更新不是要求,它可以保持原樣。
P.S.2我正在嘗試將用戶以前的推文整合到elasticsearch-twitter-river的用戶流中。
我想索引一個文件,如果它不存在在elasticsearch中。索引我的文檔和使用Requests.add
操作時,我正在使用BulkProcessor
。我有時會得到完全相同的ID,它是否會自動添加,但更新?索引如果不存在使用elasticsearch中的批量處理器
P.S.更新不是要求,它可以保持原樣。
P.S.2我正在嘗試將用戶以前的推文整合到elasticsearch-twitter-river的用戶流中。
如果您使用相同的文檔編號對文檔編制索引,則會進行更新。否則它會添加一個新文檔。
換句話說,如果您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可能會被覆蓋。