NEST指定id
阅读原文时间:2023年07月09日阅读:1

1.默认以Id属性为Id,无Id属性则自动生成

2.可通过属性标签指定Id

[ElasticsearchType(IdProperty = nameof(last_name))]
public class employee
{
public Guid Id { get; set; } = Guid.NewGuid();
public string first_name { get; set; }
public string last_name { get; set; }
public int age { get; set; }
public string about { get; set; }
public List interests { get; set; }

    public employeedto dto { get; set; }  
}

public class employeedto  
{  
    public Guid Id { get; set; }  
}

3.初始化client时指定

        var node = new Uri("http://192.168.60.222:9200/");  
        var settings = new ConnectionSettings(node)  
            .DefaultIndex("employee")  
            .DefaultMappingFor<employee>(x => x.IdProperty(p => p.last\_name));  
        client = new ElasticClient(settings);

4.索引时指定

    public IIndexResponse IndexDoc(employee doc)  
    {  
        return client.Index(doc,x=>x.Id(doc.last\_name));  
    }