yangli-1128

ElasticSearch dotnetcore

https://blog.csdn.net/qq_38261174/article/details/97911363


安装 Nest

        class Tweet

        {

            public int Id { get; set; }

            public string User { get; set; }

            public DateTime PostDate { get; set; }

            public string Message { get; set; }

        }


1.插入数据

                var node = new Uri("https://118.31.127.222:9201/");

                var settings = new Nest.ConnectionSettings(node);

                var client = new Nest.ElasticClient(settings);


            var tweet = new Tweet

            {

                Id = 4,

                User = "yangli",

                PostDate = new DateTime(2009, 11, 16),

                Message = "ready go"

            };

            var response = await client.IndexAsync(tweet, idx => idx.Index("mytweetindex"));


2.查询数据

                var node = new Uri("https://118.31.127.222:9201/");

                var settings = new Nest.ConnectionSettings(node);

                var client = new Nest.ElasticClient(settings);


                var v = await client.SearchAsync<SearchGoods>(x =>

                {

                    return

                    x.Index("mytweetindex")

                    // .Query(q => q.Match(m => m.Field(f => f.User).Query("*kim* *yang*")))

                    .Query(q => q.MultiMatch(m => m.Fields(fd => fd.Fields(f => f.User, f => f.Message)).Query("1神23456789 yangli ready")))

                    .Query(q => q.DateRange(c => c.Field(f => f.PostDate).LessThanOrEquals("2009-11-15").GreaterThanOrEquals("2009-11-15"))) //范围查询

                    ;

                }

            );

//输出查询结果

Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(v.Documents.ToList()));

标签: ElasticSearch
上一篇 下一篇
评论
©yangli-1128 | Powered by LOFTER