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<string> 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));
        }

  

 

posted on 2019-09-18 10:01  chester·chen  阅读(564)  评论(0编辑  收藏  举报