elasticsearch NEST正在尝试将枚举转换为字符串,elasticsearch,nest,elasticsearch,Nest" /> elasticsearch NEST正在尝试将枚举转换为字符串,elasticsearch,nest,elasticsearch,Nest" />

elasticsearch NEST正在尝试将枚举转换为字符串

elasticsearch NEST正在尝试将枚举转换为字符串,elasticsearch,nest,elasticsearch,Nest,您好: 我有以下代码,但是,我得到以下错误: return new ConnectionSettings(pool, (s, v) => s.Converters.Add(new StringEnumConverter())).DefaultIndex(index) .DefaultMappingFor<Document>(m => m.IndexName(index).TypeName("doc")) .D

您好:

我有以下代码,但是,我得到以下错误:

return new ConnectionSettings(pool, (s, v) => s.Converters.Add(new StringEnumConverter())).DefaultIndex(index)
                .DefaultMappingFor<Document>(m => m.IndexName(index).TypeName("doc"))
                .DefaultMappingFor<FacilityType>(m => m.IndexName(index).TypeName("doc"))
                .DefaultMappingFor<Facility>(m => m.IndexName(index).TypeName("doc").RelationName("parent"))
                .BasicAuthentication(ConfigurationManager.AppSettings["ElasticUser"], ConfigurationManager.AppSettings["ElasticPassword"]);
返回新的连接设置(池,(s,v)=>s.Converters.Add(新的StringEnumConverter()).DefaultIndex(索引)
.DefaultMappingFor(m=>m.IndexName(index).TypeName(“doc”))
.DefaultMappingFor(m=>m.IndexName(index).TypeName(“doc”))
.DefaultMappingFor(m=>m.IndexName(index).TypeName(“doc”).RelationName(“父”))
.BasicAuthentication(ConfigurationManager.AppSettings[“ElasticUser”]、ConfigurationManager.AppSettings[“ElasticPassword”]);
严重性代码描述项目文件行抑制状态
错误CS1061“IElasticsearchSerializer”不包含“Converters”的定义,并且找不到接受“IElasticsearchSerializer”类型的第一个参数的扩展方法“Converters”(是否缺少using指令或程序集引用?)iserro.API C:\Users\IEUser\source\repos\iserro API\iserro.API\App\u Start\DiContainerConfig.cs 131处于活动状态

我认为错误消息清楚地表明了问题所在


看起来您希望
IElasticsearchSerializer
成为一个具体的实例,公开一个
Converters
属性,NuGet包中的类型会公开该属性,这样您就可以连接它并添加自定义转换器了。

谢谢Russ,但是,当我这样做时…ElasticSearch遇到了一个错误,因为,正在发送序列化字符串,而不是int(枚举索引)==>{“错误”:{“根本原因”:[{“类型”:“映射器解析异常”,“原因”:“未能解析[状态]”}],“类型”:“映射器解析异常”,“原因”:“未能解析[状态]”,“原因”:“{“类型”:“数字格式解析异常”,“原因”:”对于输入字符串:\“已创建\\”,“状态”:400}好的……将
[关键字]
添加到每个枚举属性解决了问题。现在正在为每个枚举的文本编制索引。将
StringEnumConverter
添加到全局转换器列表将导致所有枚举序列化为字符串。如果这不是您想要的,那么最好将它应用到那些您确实想要应用它的对象上。转换器有一个bug。使用
PolygonGeoShape
类型会打乱序列化并导致ElasticSearch出错。移除这个。