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()));