Nest客户端的基本使用方法
通过Nuget安装好Nest的相关Dll,之后我们就可以开始了,
1.初始化Nest客户端
string indexName = "customer";
Uri uri = new Uri("http://localhost:9200");
ConnectionSettings settings = new ConnectionSettings(uri);
settings.DisableDirectStreaming().DefaultIndex(indexName);
ElasticClient client = new ElasticClient(settings);
2.创建一个Customer索引
dynamic response = client.GetIndex(indexName);
if(!response.IsValid)
{
response = client.CreateIndex("customer");
Console.WriteLine(response);
}
3.创建文档
var company = new Company { CompanyID=2, Name="IBM" };
//创建文档并指定索引,和文档ID
response = client.Index(company, i => i.Index(indexName).Id(company.CompanyID));
//创建文档并指定索引,文档类型,未指定文档ID,ElasticSearch会帮你生成一个随机的ID
response = client.Index(company, i => i.Index(indexName));
//这里没有显示指定索引,所以使用的客户端初始化默认索引,如果没有默认索引,就会发生错误
response = client.Index(company);
4.修改文档1
根据CompanyID来修改文档,如果存储里存在一个CompanyID等于2的文档,他就会用新的替换旧的,否则就创建一个。
所以叫创建式修改比较合适
company = new Company { CompanyID = 2, Name = "联想" };
//修改文档
response = client.Index(company, i => i.Id(company.CompanyID));
5.修改指定版本号的文档(对乐观锁的实现)
company = new Company { CompanyID = 2, Name = "联想" };
//修改指定版本的文档
response = client.Index(company, i => i.Id(company.CompanyID).Version(1));
6.删除文档
//根据特定的条件来删除文档
response = client.Delete<Company>(company.CompanyID, d => d.Index(indexName));
//删除文档
response = client.Delete<Company>(company.CompanyID);
7.删除索引
//根据名称删除索引
response=client.DeleteIndex(indexName);
8.批量创建文档
这里是指定了相应的索引,如果没有显示指定索引,都是用的默认索引,
//批量创建文档
BulkDescriptor descriptor = new BulkDescriptor();
descriptor.Index<Company>(op => op.Document(new Company { CompanyID = 1, Name = "IBM" }).Index("a"));
descriptor.Index<Company>(op => op.Document(new Company { CompanyID = 2, Name = "IBM" }).Index("b"));
descriptor.Index<Company>(op => op.Document(new Company { CompanyID = 3, Name = "IBM" }).Index("c")); response = client.Bulk(descriptor);
Nest客户端的基本使用方法的更多相关文章
- 用javascript得到客户端IP的新方法
javascript得到客户端IP的新方法 很久以来,我都是经过http://fw.qq.com/ipaddress来得到客户端用户的IP,这个方法简单.快速.实用 . 我们调用它的写法是: < ...
- 获取客户端用户真实ip方法整理(jekyll迁移)
layout: post title: 获取客户端用户真实ip方法整理 date: 2019-08-22 author: xiepl1997 tags: springboot 由请求获取客户端ip地址 ...
- ASP.NET 截获服务器生成的将要发送到客户端的html的方法
有时候我们需要在将服务器端生成的html发送带客户端之前对这些html进行操作,比如生成静态html加之保存.改变生成的html中的某些内容等等,那么久可以通过如下的方案解决. 我总结了两种方式,个人 ...
- Hadoop中客户端和服务器端的方法调用过程
1.Java动态代理实例 Java 动态代理一个简单的demo:(用以对比Hadoop中的动态代理) Hello接口: public interface Hello { void sayHello(S ...
- Nginx反向代理导致PHP获取不到正确的HTTP_HOST,SERVER_NAME,客户端IP的解决方法
今天第一次陪Nginx负载均衡,发现PHP无法获取HTTP_HOST 贴上的Nginx配置 upstream abc.com { server 10.141.8.55:8005; server 10. ...
- JFinal向客户端渲染图片的方法
JFinal提供了好几种方便的render但是不知道为啥就是没有提供直接渲染图片的render,如果我们直接在Controller的方法中往输入流中写的话是还是会有默认的render生效的,比如下面这 ...
- http协议中客户端8种请求方法
http请求中的8种请求方法 1.opions 返回服务器针对特定资源所支持的HTML请求方法 或web服务器发送*测试服务器功能(允许客户端查看服务器性能) 2.Get 向特定资源发出请 ...
- HTTP客户端之使用request方法向其他网站请求数据
在node中,可以很轻松的向任何网站发送请求并读取该网站的响应数据. var req=http.request(options,callback); options是一个字符串或者是对象.如果是字符串 ...
- web服务器获取请求客户端真实地址的方法
服务器获取客户端或者网页的请求,获取IP时需要注意,因为一个请求到达服务器之前,一般都会经过一层或者多层代理服务器,比如反向代理服务器将http://192.168.1.10:port/ 的URL反向 ...
随机推荐
- js中窗口大小和单个元素大小的计算
1. 窗口的大小即浏览器的大小: window.innerWidth, window.innerHeight, window.outerHeight, window.outerWidth 在IE9+, ...
- linux 之程序管理
一个程序的父进程可以用PPID来判断 命令ps -l 可以用来观察程序相关的输出信息 被关闭的程序又产生:crontab或者父进程产生的 我们将常驻在系统中的程序称为:服务(daemon) ...
- 用PHP ping 一个 IP
最近要做一个 测试IP列表 是否能连通的功能.大家都知道我们一般用 ping 命令就可以看到IP端口可不可以连通.那在程序里要怎么做呢? 我们在网上找到很多都是使用 exec("ping ...
- koahub软件市场微信编辑器源码,可下载
管理过公众平台的小伙伴都知道,公众平台最重要的是图文的编辑和发布,由于微信公众平台的图文编辑页面比较简陋,功能和样式的比较少,所以一般都是使用专业的微信图文编辑器,koahub软件市场里有一款专门编辑 ...
- swift -- 单例
方式一: (类似OC) class SingletonDispatch{ class var shareInstance : SingletonDispatch { //结构体 struct Stat ...
- #include<bits/stdc++.h>
在听学长讲课时看到了#include<bits/stdc++.h>这个头文件,瞬间懵逼辣,百度后了解了 #include<bits/stdc++.h>,包含了C++的所有头文件 ...
- web应用怎么跳过某些Filter
在做的项目需要用到cas,而使用cas的话,需要在client的webapp的web.xml中配置好多个filter,但是需要兼容到老的逻辑,如果满足某些条件,就不走cas的filter,满足另外一些 ...
- DBMS
数据库中的概念 Catalog(分类) Table(表) Column(列)或者Field(字段) Primary(主键):唯一标识数据行的一列 业务主键:有业务意义的字段做主键 逻辑主键:使用没有任 ...
- dreamweaver中的 map怎么调用?_制作热点图像区域
我们浏览网页时,经常看到一些图片上会出现特别的超链接,即在一张图片上有多个局部区域和不同的网页链接,比如地图链接. 这就是映射图像(Image Map),它是指一幅根据链接对象不同而被人为划分为若干指 ...
- JavaWeb之多语言国际化
这周打算把国际化.JDBC和XML学习一下,从下周就开始学习三大框架,再坚持一个半月吧就能入门JavaWeb了,上周周末两天过的真是生不如死,两天坐在家里,醒来就写博客,原本在公司也自己操作了一遍,其 ...