我想使用NEST .Net库进行批量插入以进行 flex 搜索。但是我不想将我的ID存储在文档中。
通过一次插入,我可以使用.Id()函数设置Id不在我的Type中的ID。
有没有办法用IndexMany函数来做到这一点?
还是将ID不存储在文档中是一种不好的做法?除了精确搜索外,我不使用其他ID。为什么要存储两次?
最佳答案
您还可以使用批量设置自己的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);
如果您要依赖Elasticsearch生成的ID,请不要指定
.Id()
或使用.Id(null)
使其强制为null