初始化实例

nuget安装

1、单点连接

var node = new Uri("http://myserver:9200");
var settings = new ConnectionSettings(node);
var client = new ElasticClient(settings);

2、连接池连接

var nodes = new Uri[]
{
new Uri("http://myserver1:9200"),
new Uri("http://myserver2:9200"),
new Uri("http://myserver3:9200")
};
var pool = new StaticConnectionPool(nodes);
var settings = new ConnectionSettings(pool);
var client = new ElasticClient(settings);

3、指定索引

可以通过ConnectionSettings使用.DefaultIndex(),来指定默认索引。当一个请求里没有指定具体索引时,NEST将请求默认索引。

var settings = new ConnectionSettings()
.DefaultIndex("defaultindex");
新增
var nodes = new Uri[]
{
new Uri("http://localhost:9200")
};
var pool = new StaticConnectionPool(nodes);
var settings = new ConnectionSettings(pool).DefaultIndex("crm.base.log").BasicAuthentication("elastic", "caKBawShu0Pm7BsjSFbd");
var client = new ElasticClient(settings);
var log = new CreateRequest<CRMLog>(Guid.NewGuid());
log.Document = new CRMLog();
log.Document.LogLevel = ;
log.Document.HttpMethod = "Get";
client.Create<CRMLog>(log);
删除

根据ID删除

client.Delete<CRMLog>(new DocumentPath<CRMLog>("aca1f759-43ec-4c2c-b9ce-fe0f6c644a48"));
client.Delete(new DeleteRequest("crm.base.log", "4bd0ffb9-f5fc-4748-94f6-b41c706cc4ca"));

删除多条

var bulkDel = new BulkRequest() { Operations = new List<IBulkOperation>() };
bulkDel.Operations.Add(new BulkDeleteOperation<CRMLog>("4bd0ffb9-f5fc-4748-94f6-b41c706cc4ca"));
bulkDel.Operations.Add(new BulkDeleteOperation<CRMLog>("aca1f759-43ec-4c2c-b9ce-fe0f6c644a48"));
var resultDel = client.Bulk(bulkDel);

从新指定索引

client.Delete<CRMLog>("", s => s.Index(""));
修改
IUpdateRequest<CRMLog, CRMLog> request = new UpdateRequest<CRMLog, CRMLog>("6cfb5050-d175-4fb1-8f8d-c6d88cb0e2a4")
{
Doc = new CRMLog()
{
LogLevel = ,
HttpMethod = "test4update........"
}
};
var resp = client.Update<CRMLog, CRMLog>(request);

更新多条

var bulkUpdate = new BulkRequest() { Operations = new List<IBulkOperation>() };
bulkUpdate.Operations.Add(new BulkUpdateOperation<CRMLog, CRMLog>("6cfb5050-d175-4fb1-8f8d-c6d88cb0e2a4") { Doc = new CRMLog() { HttpMethod = "xiugai" } });
bulkUpdate.Operations.Add(new BulkUpdateOperation<CRMLog, CRMLog>("aca1f759-43ec-4c2c-b9ce-fe0f6c644a48") { Doc = new CRMLog() { HttpMethod = "xiugai1" } });
var result = client.Bulk(bulkUpdate);
查询
var modUser = client.Get<CRMLog>("6cfb5050-d175-4fb1-8f8d-c6d88cb0e2a4");
var tweet = JsonConvert.SerializeObject(modUser.Source);

多查询

 var modList = client.Search<CRMLog>(s => s
.From()
.Size()
.Query(q =>
q.Term(t => t.HttpMethod, "www.b.com")
|| q.Match(mq => mq.Field(f => f.HttpMethod).Query("Get"))
)
);

重新指定索引

client.Search<CRMLog>(s => s.Index("crm.base.log"));

代码下载

推荐链接

https://blog.csdn.net/manimanihome/article/details/55682494

https://www.cnblogs.com/zhy-1992/p/7244440.html

https://www.jianshu.com/p/f178e59ffaf2

Elasticsearch-C#操作的更多相关文章

  1. ElasticSearch Index操作源码分析

    ElasticSearch Index操作源码分析 本文记录ElasticSearch创建索引执行源码流程.从执行流程角度看一下创建索引会涉及到哪些服务(比如AllocationService.Mas ...

  2. 使用Spring Data ElasticSearch+Jsoup操作集群数据存储

    使用Spring Data ElasticSearch+Jsoup操作集群数据存储 1.使用Jsoup爬取京东商城的商品数据 1)获取商品名称.价格以及商品地址,并封装为一个Product对象,代码截 ...

  3. elasticsearch使用操作部分

    本片文章记录了elasticsearch概念.特点.集群.插件.API使用方法. 1.elasticsearch的概念及特点.概念:elasticsearch是一个基于lucene的搜索服务器.luc ...

  4. Elasticsearch批处理操作——bulk API

    Elasticsearch提供的批量处理功能,是通过使用_bulk API实现的.这个功能之所以重要,在于它提供了非常高效的机制来尽可能快的完成多个操作,与此同时使用尽可能少的网络往返. 1.批量索引 ...

  5. elasticsearch简单操作

    现在,启动一个节点和kibana,接下来的一切操作都在kibana中Dev Tools下的Console里完成 创建一篇文档 将小黑的小姨妈的个人信息录入elasticsearch.我们只要输入 PU ...

  6. JestClient 使用教程,教你完成大部分ElasticSearch的操作。

    本篇文章代码实现不多,主要是教你如何用JestClient去实现ElasticSearch上的操作. 授人以鱼不如授人以渔. 一.说明 1.elasticsearch版本:6.2.4 . jdk版本: ...

  7. Elasticsearch 安装操作手册

    第一部分 ES安装环境的准备和初始化 现在交心的版本Elasticsearch 5.6.3 官方建议安装Oracle的JDK8,安装前先检查机器是否已安装JDK. Step 1 检查环境机器是否已安装 ...

  8. elasticsearch简单操作(二)

    让我们建立一个员工目录,假设我们刚好在Megacorp工作,这时人力资源部门出于某种目的需要让我们创建一个员工目录,这个目录用于促进人文关怀和用于实时协同工作,所以它有以下不同的需求:1.数据能够包含 ...

  9. elasticsearch聚合操作——本质就是针对搜索后的结果使用桶bucket(允许嵌套)进行group by,统计下分组结果,包括min/max/avg

    分析 Elasticsearch有一个功能叫做聚合(aggregations),它允许你在数据上生成复杂的分析统计.它很像SQL中的GROUP BY但是功能更强大. 举个例子,让我们找到所有职员中最大 ...

  10. python使用elasticsearch模块操作elasticsearch

    1.创建索引 命令如下 from elasticsearch import Elasticsearch es = Elasticsearch([{"host":"10.8 ...

随机推荐

  1. HDU 6194 string string string ——(2017沈阳网络赛,后缀数组)

    思路见:http://blog.csdn.net/aozil_yang/article/details/77929216. 代码如下: #include <stdio.h> #includ ...

  2. JVM相关文章和GC原理算法

    参考推荐: Java内存模型及GC原理 一个优秀的Java程序员必须了解的GC机制 Android 智能指针原理(推荐) Java虚拟机规范 Java虚拟机参数 Java内存模型 Java系列教程(推 ...

  3. 开启和关闭oracle数据库中的审计功能

    第1步:查看审计功能是否开启?SQL> show parameter audit;NAME                                 TYPE        VALUE-- ...

  4. 动物细胞结构模型 | animal cell structure

    现在大家已经对细胞结构单位习以为常,但在细胞发现之前,这是不可思议的,千奇百怪的生命世界居然有一个统一的基本单位. 这里简单回忆一下经典的细胞结构: 参考YouTube视频: Biology: Cel ...

  5. MQTT教學(二):安裝MQTT伺服器Mosquitto,Windows系統篇

    http://swf.com.tw/?p=1005 「認識MQTT」文章提到,MQTT的訊息全都透過稱為代理人(broker)的伺服器交流.本文將說明頗受歡迎的開放原始碼MQTT伺服器Mosquitt ...

  6. QQ 有很多关于会员的标记,腾讯舍不得为每一个标记用 1 个字节 Byte,而用的是 1 比特 Bit。

    17年的实践:腾讯海量产品的技术方法论-其它分享/专项技术区 - 即时通讯开发者社区! http://www.52im.net/thread-159-1-1.html 腾讯QQ1.4亿在线用户的技术挑 ...

  7. 小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_39、SpringBoot2.x整合redis实战讲解

    笔记 3.SpringBoot2.x整合redis实战讲解 简介:使用springboot-starter整合reids实战 1.官网:https://docs.spring.io/spring-bo ...

  8. shell脚本将gbk文件转化为utf-8

    使用注意项: 原来文件格式gbk的,否则可能出现utf-8转utf-8乱码. #!/bin/bash function gbk2utf(){ file="$1" echo &quo ...

  9. lintcode 787. The Maze 、788. The Maze II 、

    787. The Maze https://www.cnblogs.com/grandyang/p/6381458.html 与number of island不一样,递归的函数返回值是bool,不是 ...

  10. tr -d命令删除与字符无关的符号

    echo "/192.168"| tr -d '/' 结果:192.168