如何设置index.mapping.ignore_malformed在ASP.NET MVC上使用ElasticsearchClientsettings

问题描述 投票:0回答:1
var settings = new ElasticsearchClientSettings(new Uri("IP Address")) .DefaultIndex("index_name") .CertificateFingerprint("certificate_fingerprint") .Authentication(new BasicAuthentication("username", "password")); Audit.Core.Configuration.Setup() .UseElasticsearch(config => config .Client(new ElasticsearchClient(settings)));

任何帮助都将不胜感激

该问题是由Elasticsearch的
动态场映射引起的。

NewValue

/
asp.net-mvc elasticsearch kibana audit.net
1个回答
0
投票
属性是类型

object,这意味着Elasticsearch根据第一个索引文档确定其类型。如果第一个索引文档包含DateTime

值的值,则Elasticsearch将将字段映射为

OriginalValue

。因此,如果随后的文档包含不同的数据类型,则索引将由于类型不匹配而失败。
要避免此问题,您有几个选择:
1。使用自定义索引模板(仅适用于新索引)
您可以将索引模板定义为明确将字段映射为
date
,从而确保所有索引文档中的数据类型一致:
OriginalValue
但是,这种方法仅适用于新创建的索引。
2。将对象值转换为JSON字符串
在线,您可以在索引之前覆盖对象值并将其转换为JSON字符串。这样可以确保Elasticsearch将所有值视为字符串数据,防止类型冲突:

TextProperty

请检查以下问题:

152

499

504
591

.

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.