我得到了
mapper [countCalls] of different type, current_type [long], merged_type [text]
它发生在午夜左右,错误显示这是一个副本问题TransportReplicationAction$PrimaryShardReference.没有用于映射此字段的设置,我也没有任何默认映射。该字段是数组"name":value。
知道为什么吗?我没有任何其他错误,我在Kibana看到的事件也没有问题。
下面是完整的日志:
[2019-11-11T00:02:51,566][DEBUG][o.e.a.b.TransportShardBulkAction] [xxx] [logstash-2019.11.10][0]
failed to execute bulk item (index) index {[logstash-2019.11.10][_doc][pWKOV24BqMTbC P5UQ9uc],
source[{xxxxxxxx, "countCalls":[["i",0]]}]} java.lang.IllegalArgumentException: mapper [countCalls]
of different type, current_type [long], merged_type [text] at
org.elasticsearch.index.mapper.FieldMapper.doMerge(FieldMapper.java:330) ~[elasticsearch-
7.1.1.jar:7.1.1] at
org.elasticsearch.index.mapper.NumberFieldMapper.doMerge(NumberFieldMapper.java:1081) ~
[elasticsearch-7.1.1.jar:7.1.1] at
org.elasticsearch.index.mapper.FieldMapper.merge(FieldMapper.java:317) ~[elasticsearch-
7.1.1.jar:7.1.1] at org.elasticsearch.index.mapper.FieldMapper.merge(FieldMapper.java:52) ~
[elasticsearch-7.1.1.jar:7.1.1] at
org.elasticsearch.index.mapper.DocumentParser.createDynamicUpdate(DocumentParser.java:223) ~
[elasticsearch-7.1.1.jar:7.1.1] at
org.elasticsearch.index.mapper.DocumentParser.parseDocument(DocumentParser.java:83) ~
[elasticsearch-7.1.1.jar:7.1.1] at
org.elasticsearch.index.mapper.DocumentMapper.parse(DocumentMapper.java:267) ~[elasticsearch
7.1.1.jar:7.1.1] at org.elasticsearch.index.shard.IndexShard.prepareIndex(IndexShard.java:770) ~
[elasticsearch-7.1.1.jar:7.1.1] at
org.elasticsearch.index.shard.IndexShard.applyIndexOperation(IndexShard.java:747) ~[elasticsearch-
7.1.1.jar:7.1.1] at
org.elasticsearch.index.shard.IndexShard.applyIndexOperationOnPrimary(IndexShard.java:719) ~
[elasticsearch-7.1.1.jar:7.1.1] at org.elasticsearch.action.bulk.TransportShardBulkAction.lambda$executeIndexRequestOnPrimary$3(TransportShardBulkAction.java:452) ~[elasticsearch-7.1.1.jar:7.1.1] at org.elasticsearch.action.bulk.TransportShardBulkAction.executeOnPrimaryWhileHandlingMappingUpdates(TransportShardBulkAction.java:475) ~[elasticsearch-7.1.1.jar:7.1.1] at org.elasticsearch.action.bulk.TransportShardBulkAction.executeIndexRequestOnPrimary(TransportShardBulkAction.java:450) [elasticsearch-7.1.1.jar:7.1.1] at org.elasticsearch.action.bulk.TransportShardBulkAction.executeBulkItemRequest(TransportShardBulkAction.java:218) [elasticsearch-7.1.1.jar:7.1.1] at org.elasticsearch.action.bulk.TransportShardBulkAction.performOnPrimary(TransportShardBulkAction.java:161) [elasticsearch-7.1.1.jar:7.1.1] at org.elasticsearch.action.bulk.TransportShardBulkAction.performOnPrimary(TransportShardBulkAction.java:153) [elasticsearch-7.1.1.jar:7.1.1] at org.elasticsearch.action.bulk.TransportShardBulkAction.shardOperationOnPrimary(TransportShardBulkAction.java:141) [elasticsearch-7.1.1.jar:7.1.1] at org.elasticsearch.action.bulk.TransportShardBulkAction.shardOperationOnPrimary(TransportShardBulkAction.java:79) [elasticsearch-7.1.1.jar:7.1.1] at org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryShardReference.perform(TransportReplicationAction.java:1042) [elasticsearch-7.1.1.jar:7.1.1] at org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryShardReference.perform(TransportReplicationAction.java:1020) [elasticsearch-7.1.1.jar:7.1.1] at org.elasticsearch.action.support.replication.ReplicationOperation.execute(ReplicationOperation.java:104) [elasticsearch-7.1.1.jar:7.1.1] at org.elasticsearch.action.support.replication.TransportReplicationAction$AsyncPrimaryAction.runWithPrimaryShardReference(TransportReplicationAction.java:422) [elasticsearch-7.1.1. jar:7.1.1] at org.elasticsearch.action.support.replication.TransportReplicationAction$AsyncPrimaryAction.lambda$doRun$0(TransportReplicationAction.java:363) [elasticsearch-7.1.1.jar:7.1.1] at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:61) [elasticsearch-7.1.1.jar:7.1.1] at org.elasticsearch.index.shard.IndexShard.lambda$wrapPrimaryOperationPermitListener$14(IndexShard.java:2538) [elasticsearch-7.1.1.jar:7.1.1] at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:61) [elasticsearch-7.1.1.jar:7.1.1] at org.elasticsearch.index.shard.IndexShardOperationPermits.acquire(IndexShardOperationPermits.java:269) [elasticsearch-7.1.1.jar:7.1.1] at org.elasticsearch.index.shard.IndexShardOperationPermits.acquire(IndexShardOperationPermits.java:236) [elasticsearch-7.1.1.jar:7.1.1] at org.elasticsearch.index.shard.IndexShard.acquirePrimaryOperationPermit(IndexShard.java:2513) [elasticsearch-7.1.1.jar:7.1.1] at org.elasticsearch.action.support.replication.TransportReplicationAction.acquirePrimaryOperationPermit(TransportReplicationAction.java:979) [elasticsearch-7.1.1.jar:7.1.1] at org.elasticsearch.action.support.replication.TransportReplicationAction$AsyncPrimaryAction.doRun(TransportReplicationAction.java:359) [elasticsearch-7.1.1.jar:7.1.1] at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-7.1.1.jar:7.1.1] at org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryOperationTransportHandler.messageReceived(TransportReplicationAction.java:314) [elasticsearch-7.1.1 .jar:7.1.1] at org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryOperationTransportHandler.messageReceived(TransportReplicationAction.java:306) [elasticsearch-7.1.1 .jar:7.1.1] at org.elasticsearch.xpack.security.transport.SecurityServerTransportInterceptor$ProfileSecuredRequestHandler$1.doRun(SecurityServerTransportInterceptor.java:251) [x-pack-security-7 .1.1.jar:7.1.1] at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-7.1.1.jar:7.1.1]
发布于 2019-11-14 17:22:12
当发现映射或模板中没有声明的新字段时,elasticsearch会尝试自己解析类型,并将数据类型分配给新字段。因此,它在countCalls中找到了一个数值,并将其定义为long
数据类型。然后,一个新的摄取实例尝试用字段countCalls
为文档建立索引,但是里面没有数字值,而是一个字符串。Elastic尝试在字段中合并这个值,但它不能,因为现在该字段被定义为long数据类型。解决此问题的最快方法是将映射中的字段定义为text
数据类型。这样,数值将被转换为文本数据类型。另一方面,您不能再对此字段执行range
查询。所以问题是,对这个字段进行range
查询有用吗?
https://stackoverflow.com/questions/58853059
复制相似问题