Elasticsearch(一)【.Net客户端介绍】
来源:互联网 发布:知乎周刊app 编辑:程序博客网 时间:2024/06/06 02:39
介绍
您已到达Elasticsearch.Net和NEST的文档页面,Elasticsearch的两个官方.NET客户端。
为什么要两个客户?
Elasticsearch.Net是一个非常低级别,依赖自由的客户端,没有对如何构建和表示您的请求和响应的意见。它已经抽象得足够,以便所有的Elasticsearch API端点都被表示为方法,但没有太多,妨碍你如何构建你的json /请求/响应对象。它还内置,可配置/可覆盖,集群故障转移重试机制。 Elasticsearch是弹性的,为什么不是你的客户端?
NEST是一个高级客户端,具有映射所有请求和响应对象的优势,附带强类型查询DSL,它使用Elasticsearch查询DSL将1对1映射,并利用特定的.NET功能,如协变结果和POCO的自动映射。 NEST内部使用并仍然暴露低级Elasticsearch.Net客户端。
NEST更改
Elasticsearch.Net打破变革
这列出了Elasticsearch.Net中的所有二进制拆分更改。
枚举
public enum Elasticsearch.Net.Consistency Removed(break)
public enum Elasticsearch.Net.Bytes Declaration changed(Breaking)
2.x
public enum Bytes{ B = 0, K = 1, M = 2, G = 3}
5.x
public enum Bytes{ B = 0, K = 1, Kb = 2, M = 3, Mb = 4, G = 5, Gb = 6, T = 7, Tb = 8, P = 9, Pb = 10}
public enum Elasticsearch.Net.Feature Declaration changed (Breaking)
2.x
[FlagsAttribute]public enum Feature{ Settings = 1, Mappings = 2, Warmers = 4, Aliases = 8}
5.x
[FlagsAttribute]public enum Feature{ Settings = 1, Mappings = 2, Aliases = 4}
public enum Elasticsearch.Net.NodesStatsMetric Declaration changed (Breaking)
2.x
[FlagsAttribute]public enum NodesStatsMetric{ Breaker = 1, Fs = 2, Http = 4, Indices = 8, Jvm = 16, Os = 32, Process = 64, ThreadPool = 128, Transport = 256, All = 512}
5.x
[FlagsAttribute]public enum NodesStatsMetric{ Breaker = 1, Fs = 2, Http = 4, Indices = 8, Jvm = 16, Os = 32, Process = 64, ThreadPool = 128, Transport = 256, Discovery = 512, All = 1024}
public enum Elasticsearch.Net.SearchType Declaration changed (Breaking)
2.x
public enum SearchType{ QueryThenFetch = 0, QueryAndFetch = 1, DfsQueryThenFetch = 2, DfsQueryAndFetch = 3, Count = 4, Scan = 5}
5.x
public enum SearchType{ QueryThenFetch = 0, DfsQueryThenFetch = 1}
Refresh不再只是一个bool
现在一个枚举也可以发送wait_for
公共方法Elasticsearch.Net.BulkRequestParameters.Refresh声明已更改
2.x: public BulkRequestParameters Refresh(bool refresh) 5.x: public BulkRequestParameters Refresh(Refresh refresh)
公共方法Elasticsearch.Net.DeleteRequestParameters.Refresh声明已更改
公共方法Elasticsearch.Net.IndexRequestParameters.Refresh声明已更改
公共方法Elasticsearch.Net.UpdateRequestParameters.Refresh声明已更改
WaitForActiveShards现在接受一个字符串
所以你可以发送所有
公共方法
Elasticsearch.Net.ClusterHealthRequestParameters.WaitForActiveShards声明已更改
2.x: public ClusterHealthRequestParameters WaitForActiveShards(long wait_for_active_shards) 5.x: public ClusterHealthRequestParameters WaitForActiveShards(string wait_for_active_shards)
可访问性更改
这些是公共的类型/方法/属性/构造函数,但没有业务是这样的
公共方法Elasticsearch.Net.RequestData..ctor可访问性已从public更改为private(Breaking)
2.x
[ObsoleteAttribute("This constructor is scheduled to become private in 5.0.0")]public .ctor(HttpMethod method, string path, PostData<object> data, IConnectionConfigurationValues global, IRequestConfiguration local, IMemoryStreamFactory memoryStreamFactory)
5.x
private .ctor(HttpMethod method, string path, PostData<object> data, IConnectionConfigurationValues global, IRequestConfiguration local, IMemoryStreamFactory memoryStreamFactory)
public property Elasticsearch.Net.Transport <TConnectionSettings> .DateTimeProvider可见性已从公共更改为私有2.x: public IRequestPipelineFactory PipelineProvider { get; }5.x: private IRequestPipelineFactory PipelineProvider { get; }
重命名API相关方法
影响低,这些已经重命名匹配他们的方法名称等同
公共方法Elasticsearch.Net.ElasticLowLevelClient.CatNodeattrs <T>声明已更改2.x: public ElasticsearchResponse<T> CatNodeattrs<T>(Func<CatNodeattrsRequestParameters, CatNodeattrsRequestParameters> requestParameters) 5.x: public ElasticsearchResponse<T> CatNodeattrs<T>(Func<CatNodeAttributesRequestParameters, CatNodeAttributesRequestParameters> requestParameters)
公共方法Elasticsearch.Net.ElasticLowLevelClient.TasksCancel <T>声明已更改2.x: public ElasticsearchResponse<T> TasksCancel<T>(string task_id, Func<TasksCancelRequestParameters, TasksCancelRequestParameters> requestParameters) 5.x: public ElasticsearchResponse<T> TasksCancel<T>(string task_id, Func<CancelTasksRequestParameters, CancelTasksRequestParameters> requestParameters)
公共方法Elasticsearch.Net.ElasticLowLevelClient.TasksCancel <T>声明已更改2.x: public ElasticsearchResponse<T> TasksCancel<T>(Func<TasksCancelRequestParameters, TasksCancelRequestParameters> requestParameters) 5.x: public ElasticsearchResponse<T> TasksCancel<T>(Func<CancelTasksRequestParameters, CancelTasksRequestParameters> requestParameters)
公共方法Elasticsearch.Net.ElasticLowLevelClient.TasksList <T>声明已更改2.x: public ElasticsearchResponse<T> TasksList<T>(Func<TasksListRequestParameters, TasksListRequestParameters> requestParameters) 5.x: public ElasticsearchResponse<T> TasksList<T>(Func<ListTasksRequestParameters, ListTasksRequestParameters> requestParameters)
公共方法Elasticsearch.Net.IElasticLowLevelClient.CatNodeattrs <T>声明已更改2.x: public ElasticsearchResponse<T> CatNodeattrs<T>(Func<CatNodeattrsRequestParameters, CatNodeattrsRequestParameters> requestParameters) 5.x: public ElasticsearchResponse<T> CatNodeattrs<T>(Func<CatNodeAttributesRequestParameters, CatNodeAttributesRequestParameters> requestParameters)
公共方法Elasticsearch.Net.IElasticLowLevelClient.TasksCancel<T>声明已更改2.x: public ElasticsearchResponse<T> TasksCancel<T>(string task_id, Func<TasksCancelRequestParameters, TasksCancelRequestParameters> requestParameters) 5.x: public ElasticsearchResponse<T> TasksCancel<T>(string task_id, Func<CancelTasksRequestParameters, CancelTasksRequestParameters> requestParameters)
公共方法Elasticsearch.Net.IElasticLowLevelClient.TasksCancel<T>声明已更改2.x: public ElasticsearchResponse<T> TasksCancel<T>(Func<TasksCancelRequestParameters, TasksCancelRequestParameters> requestParameters) 5.x: public ElasticsearchResponse<T> TasksCancel<T>(Func<CancelTasksRequestParameters, CancelTasksRequestParameters> requestParameters)
公共方法Elasticsearch.Net.IElasticLowLevelClient.TasksList<T>声明已更改2.x: public ElasticsearchResponse<T> TasksList<T>(Func<TasksListRequestParameters, TasksListRequestParameters> requestParameters) 5.x: public ElasticsearchResponse<T> TasksList<T>(Func<ListTasksRequestParameters, ListTasksRequestParameters> requestParameters)
其余规格更新
这些都是由于Elasticsearch 5.0 rest规格更改
公共方法Elasticsearch.Net.DeleteByQueryRequestParameters.Routing声明已更改2.x: public DeleteByQueryRequestParameters Routing(string routing) 5.x: public DeleteByQueryRequestParameters Routing(String[] routing)
公共方法Elasticsearch.Net.ReindexOnServerRequestParameters.RequestsPerSecond声明已更改2.x: public ReindexOnServerRequestParameters RequestsPerSecond(Single requests_per_second) 5.x: public ReindexOnServerRequestParameters RequestsPerSecond(long requests_per_second)
公共方法Elasticsearch.Net.ReindexRethrottleRequestParameters.RequestsPerSecond声明已更改2.x: public ReindexRethrottleRequestParameters RequestsPerSecond(Single requests_per_second) 5.x: public ReindexRethrottleRequestParameters RequestsPerSecond(long requests_per_second)
公共方法Elasticsearch.Net.UpdateByQueryRequestParameters.RequestsPerSecond声明已更改2.x: public UpdateByQueryRequestParameters RequestsPerSecond(Single requests_per_second) 5.x: public UpdateByQueryRequestParameters RequestsPerSecond(long requests_per_second)
在过期后的5.x中移除
这些是在NEST 2.x中标记为已过时的,已删除的类型/属性/方法。
公共方法Elasticsearch.Net.AnalyzeRequestParameters.Analyzer已删除
[ObsoleteAttribute("Deprecated. Specify the analyzer to use in the body of the request.")]public AnalyzeRequestParameters Analyzer(string analyzer)
公共方法Elasticsearch.Net.AnalyzeRequestParameters.CharFilter已删除
[ObsoleteAttribute("Deprecated. Specify the char filters to use in the body of the request.")]public AnalyzeRequestParameters CharFilter(String[] char_filter)
公共方法Elasticsearch.Net.AnalyzeRequestParameters.CharFilters已删除
[ObsoleteAttribute("Deprecated. Specify the char filters to use in the body of the request.")]public AnalyzeRequestParameters CharFilters(String[] char_filters)
公共方法Elasticsearch.Net.AnalyzeRequestParameters.Field已删除
[ObsoleteAttribute("Deprecated. Specify the field to use in the body of the request.")]public AnalyzeRequestParameters Field(string field)
公共方法Elasticsearch.Net.AnalyzeRequestParameters.Filter已删除
[ObsoleteAttribute("Deprecated. Specify the filters to use in the body of the request.")]public AnalyzeRequestParameters Filter(String[] filter)
公共方法Elasticsearch.Net.AnalyzeRequestParameters.Filters已删除
[ObsoleteAttribute("Deprecated. Specify the filters to use in the body of the request.")]public AnalyzeRequestParameters Filters(String[] filters)
公共方法Elasticsearch.Net.AnalyzeRequestParameters.Text已删除
[ObsoleteAttribute("Deprecated. Specify the text to use in the body of the request.")]public AnalyzeRequestParameters Text(String[] text)
公共方法Elasticsearch.Net.AnalyzeRequestParameters.Tokenizer已删除
[ObsoleteAttribute("Deprecated. Specify the tokenizer to use in the body of the request.")]public AnalyzeRequestParameters Tokenizer(string tokenizer)
公共方法Elasticsearch.Net.BasicAuthenticationCredentials.UserName已删除
[ObsoleteAttribute("Removed in 5.0.0. Use Username instead, note the lowercase n")][CLSCompliantAttribute(False)]public string UserName { get; set; }
公共方法 Elasticsearch.Net.RequestData..ctor已删除
[ObsoleteAttribute("Removed in 5.0.0")]public .ctor(HttpMethod method, string path, PostData<object> data, IConnectionConfigurationValues global, IMemoryStreamFactory memoryStreamFactory)
现在IReadOnlyCollection
public property Elasticsearch.Net.Error.RootCause
取消令牌
异步方法现在直接在方法签名中暴露CancellationToken,您不再需要在RequestConfiguration上设置此方法
- Elasticsearch(一)【.Net客户端介绍】
- Elasticsearch介绍(一)----基本概念
- ElasticSearch——.NET客户端
- 【ES】ElasticSearch 安装介绍 <一>
- ElasticSearch基本概念介绍(一)
- Elasticsearch(三)【.Net客户端API规范--生命周期】
- elasticsearch java客户端api使用(一)
- ElasticSearch(一):介绍及安装
- elasticsearch介绍之安装(一)
- .NET 客户端连接Redis 介绍
- .NET 客户端连接Redis 介绍
- .NET 客户端连接Redis 介绍
- Elasticsearch.Net使用(一)【入门篇】
- 分布式搜索Elasticsearch——创建客户端(一)
- 分布式搜索Elasticsearch——创建客户端(一)
- 分布式搜索Elasticsearch——创建客户端(一)
- Elasticsearch介绍
- ElasticSearch入门介绍之会当凌绝顶(一)
- 合泰單片機SPI的調試記錄
- ConcurrentHashMap原理分析
- nginx 403 Forbidden 错误及解决办法
- (二)下载安装
- java设计模式-适配器模式
- Elasticsearch(一)【.Net客户端介绍】
- java中的compareto方法
- linux常用命令行
- AndroidStudio配置使用Git
- Java
- 3.22 sql 基础回顾
- TV 游标动画浅析
- SSH 修改tomcat中java内存
- Error:A problem occurred configuring project ':app'. > Could not resolve all