• 欢迎光临~

【ElasticSearch Nest】增删改

开发技术 开发技术 2022-07-28 次浏览

索引(添加)

单个

var indexResponse = client.IndexDocument<People>(new People { Id = 4, Age = 4, Name = new Name { Firstname = "wj", Lastname = "f" } });

批量

version(乐观锁)

查询时获取文档版本号,修改时传版本号,如果相同就修改

//查询到版本号
 var result = _client.Search<TestModel5>(
    s =>
        s.Index(indexName)
            .Query(q => q.Term(tm => tm.Field(fd=>fd.State).Value(1))).Size(1)
            .Version()//结果中包含版本号
            );
foreach (var s in result.Hits)
{
    Console.WriteLine(s.Id + "  -  " + s.Version);
}

var path = new DocumentPath<TestModel5>(1);
//更新时带上版本号 如果服务端版本号与传入的版本好相同才能更新成功
var response = _client.Update(path, (p) => p
    .Index(indexName)
    .Type(typeof(TestModel5))
    .Version(2)//限制es中版本号为2时才能成功
    .Doc(new TestModel5() { Name = "测测测" + DateTime.Now })
    );
程序员灯塔
转载请注明原文链接:【ElasticSearch Nest】增删改
喜欢 (0)