我有一个父子文档映射,而父级只有一个 contact_id 字段。当我插入新的子文档时,我需要确保这个父文档存在。它可能已经存在,也可能不存在。
因此,如果父级不存在,我使用批量 API 插入父级,并在一个请求中插入一个子级。
我的问题是哪种方法更快:update
使用doc_as_upsert
和detect_noop
ORindex
具有可能已经存在的相同数据的新记录:
{ update: { _index: 'index_name', _type: 'contact', _id: 25, _routing: 14}}
{ doc: { contact_id: 25 }, doc_as_upsert: true, detect_noop: true }
{ index: { _index: 'index_name', _type: 'event', _routing: 14, _parent: 25}}
{ ... event document body ...}
或者
{ index: { _index: 'index_name', _type: 'contact', _id: 25, _routing: 14}}
{ contact_id: 25 }
{ index: { _index: 'index_name', _type: 'event', _routing: 14, _parent: 25}}
{ ... event document body ...}