.NET5(C#) ElasticSearch 7简单读写操作示例

3 篇文章 0 订阅

依赖:

  • Elasticsearch.Net
  • NEST

直接NuGet安装即可

  • 单条插入
public static void Insert(string url, string index, object t)
{
    var settings = new ConnectionSettings(new Uri(url)).DefaultIndex(index);
    var client = new ElasticClient(settings);
    client.IndexDocument(t);
}
  • 多条插入
public static void InsertMany(string url, string index, IEnumerable<object> docs)
{
     var settings = new ConnectionSettings(new Uri(url)).DefaultIndex(index);
     var client = new ElasticClient(settings);
     client.IndexMany(docs);
}
  • 查询
    (代码是示意,逻辑是错的,也没有具体的对应的数据模型。看需求,各类查询该加加,该删删,常用的都记了一下)
public static void Search(string url, string index, string field,string fieldValue, decimal baseLine, int count)
{
    var settings = new ConnectionSettings(new Uri(url)).DefaultIndex(index);
    var client = new ElasticClient(settings);
    var r = client.Search<dynamic>(
        s =>
            s.Query(
                q => q.Bool(
                    b => b.Filter(new NumericRangeQuery() { Field = field, GreaterThan = Convert.ToDouble(baseLine) })
                        .Must(new QueryContainer[] { new TermQuery() { Field = field, Value = fieldValue}, new MatchQuery() { Field=field, Operator = Operator.Or, Query=fieldValue } })
                    )
                )
            //排序
            .Sort(sort => sort.Descending(field))
            //字段过滤
            .Source(source => source.Includes(f => f.Fields(new string[] { "field1", "field2" }))).Size(count)
    );
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值