.net core Elasticsearch.Net基本操作

1.加入依赖

Elasticsearch.model
Elasticsearch.Net

2.实体类

namespace Elasticsearch.model
{
    public class User
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public int Age { get; set; }
    }
}

3.编写工具类

using Elasticsearch.model;
using Elasticsearch.Net;
using Nest;

namespace Elasticsearch.config
{
    public class ElasticsearchHelper
    {
        private static ElasticClient? _client = null;

        public static ElasticClient GetClient() {

            if (_client == null) {
                var nodes = new Uri[]
            {
                new Uri("http://xxx:9200")
            };

                var pool = new StaticConnectionPool(nodes);
                var settings = new ConnectionSettings(pool);
                _client = new ElasticClient(settings);
            }
            
            return _client;
        }

        public static object Search() {

            var response = GetClient().Search<User>(s => s
                .Index("myuserindex") 
                .From(0)
                .Size(10)
                .Query(q => 
                    q.Term(t => t.Name, "kimchy") 
                    || q.Match(mq => mq.Field(f => f.Name).Query("tom"))
                )
            );

            return response.Documents.ToList();
        }

        public static object Insert() {

            var user = new User
            {
                Id = 2,
                Name = "tom",
                Age = 12
            };

            var response = GetClient().Index(user, idx => idx.Index("myuserindex"));
            return response;
        }
    }
}

4.测试

using Elasticsearch.config;
using Microsoft.AspNetCore.Mvc;

namespace Elasticsearch.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class MyController : ControllerBase
    {
        [HttpGet(Name = "my")]
        public object Get()
        {
            ElasticsearchHelper.Insert();
            return ElasticsearchHelper.Search();
        }
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值