我想使用NEST .Net库对弹性搜索进行批量插入。但我不想将我的ID存储在文档中。
使用单个插入时,我可以使用.Id()函数在不属于我的类型时设置Id。
有没有办法用IndexMany函数做到这一点?
或者不将ID存储在文档中是不好的做法?除了精确搜索之外,我不使用Id。我为什么要存储两次?
答案 0 :(得分:4)
您也可以使用批量设置自己的ID:
var descriptor = new BulkDescriptor();
foreach (var i in Enumerable.Range(3000, 1000))
descriptor.Index<Doc>(op => op.Document(new Doc {}).Id(i));
var result = this._client.Bulk(d=>descriptor);
如果您想依赖弹性搜索生成的ID,请不要使用.Id()
指定.Id(null)
或强制它为空