.NET Elasticsearch教程:使用NEST插入、查询数据

本文介绍如何在.NETCore环境中使用NEST库操作Elasticsearch,包括安装配置、插入OnlineUserInfo文档及查询示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NEST是.NET下使用Elasticsearch的高层客户端程序,对Elasticsearch进行了很多封装,支持DSL强类型查询。

下面是.NET CORE的一个简单示例

1.新建一个 .Net Core ConsoleApp,使用NuGet添加NEST包,或者使用命令:

Install-Package NEST

2.创建POPC类,网站在线人数

    public class OnlineUserInfo
    {
        public DateTime Time { get; set; }
        public int Num { get; set; }

        public override string ToString()
        {
            return $"{Time} - {Num}";
        }
    }

3.插入一个 OnlineUserInfo 文档到Elasticsearch

using System;
using Nest; //引用命名空间

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            //设置连接字符串,DefaultIndex中的表名要小写
            var settings = new ConnectionSettings(new Uri("http://192.168.1.11:9209"))
                .DefaultIndex("onlineuser");
            var client = new ElasticClient(settings);

            //实例化一个对象
            var d = new OnlineUserInfo
            {
                Time = DateTime.Now,
                Num = 5
            };
            //通过 IndexDocument() 方法插入数据
            var ndexResponse = client.IndexDocument(d);

            Console.WriteLine("ok");
            Console.Read();
        }

    }

}

4.数据查询

            var settings = new ConnectionSettings(new Uri("http://192.168.1.11:9209"))
                .DefaultIndex("onlineuser");
            var client = new ElasticClient(settings);

            var searchResponse = client.Search<OnlineUserInfo>(s => s
                .Query(q => q
                .MatchAll()
                )
            );

            var doc = searchResponse.Documents.FirstOrDefault();
            Console.WriteLine(doc.ToString());

其中 client.Search<OnlineUserInfo>(...) 会生成下面的 Json 

{
  "query": {
    "match_all": {}
  }
}

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值