Elastcsearch NEST客户端总是使用PUT http方法而不是POST



我试图用ES NEST客户端索引我的文档,并期望它们具有索引文档的唯一id。为了做到这一点,我使用管道处理器,以便从我的模型中删除Id字段。但是,Id在ES端始终存储为0。

我注意到我的索引请求是使用PUT http方法请求,这可能表明为什么Id不自动生成。我的问题是如何配置NEST客户端使用POST http方法而不是PUT?

这是一个大胆的猜测,但您可能希望全局(或特定类型)禁用Id推断https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/ids-inference.html#_disabling_id_inference

WithConnectionSettings(x => x
.DefaultMappingFor<MyOtherDTO>(m => m
.DisableIdInference()
)
).Expect(null).WhenInferringIdOn(dto);
WithConnectionSettings(x => x.DefaultDisableIdInference())
.Expect(null).WhenInferringIdOn(dto);

最新更新