前言
这是笔者从Elasticsearch官方提供的Elasticsearch.Net和NEST两个客户端的文档翻译的中文文档,本文档Elasticsearch版本为7.11.2。
为什么会有两个客户端类库?
Elasticsearch.Net
是一个低阶(英文原文为low level,直译为低级,但笔者认为Elasticsearch并非是低级的,只是它更接近原生RESTFUL API的,所以在这里笔者将其译为低阶)、无依赖的用于.NET平台的客户端,它不关心开发者是如何构建请求以及如何呈现和处理响应结果。Elasticsearch.Net
非常抽象以致于所有的Elasticsearch API端点都被表示成方法,但又不会过多地妨碍开发者构建json/请求/响应对象的方式。同时,它还提供了内置的、可配置/可覆盖的集群故障转移重试机制。Elasticsearch
是弹性的,因此,Elasticsearch.Net
这个低阶的.NET客户端也是弹性的。
NEST
相对于Elasticsearch.Net
来说是更高阶的.NET平台的客户端类库,它将所有请求和响应映射为类型,并带有一个强类型查询DSL,它与Elasticsearch的查询DSL进行1对1的映射关系。NEST
利用了特定的.NET特性来提供更高级的抽象,比如CLR类型的自动映射。在NEST
内部也暴露了低阶的Elasticsearch.Net
的客户端。因此,在需要的时候,你仍然可以在NEST
类库中调用Elasticsearch.Net
级别的接口方法。
遇到问题怎么办?
如果你在使用Elasticsearch.Net
或者NEST
时遇到了Bug或者对Elasticsearch的改进建议,你都可以在这里去反馈,Elasticsearch的官方会尽力在你反馈之后即时回复的。
如果在使用Elasticsearch.Net
或者NEST
时遇到了使用方面的问题,还可以去问题社nest和elasticsearch-net,官网的讨论社区也是解决问题的不错选择。
发表评论
登录用户才能发表评论, 请 登 录 或者 注册