Compressor detection can only be called on some ……

Website content quality is poor, distribution efficiency is too low how to do?Huawei engineers offer 5 unique skills>>>

An error was reported in the ES client test file written today. The method body is as follows:
the

publicIndexResponsecreateIndex(StringindexName,Stringtype,
			StringjsonArray){

		IndexRequestBuilderbuilder=client.prepareIndex(indexName,type).setSource(jsonArray);
		
		IndexResponseresponse=builder.execute().actionGet();
		returnresponse;

	}

The contents of the error report are as follows:

Exceptioninthread"main"MapperParsingException[failedtoparse];nested:NotSerializableExceptionWrapper[not_x_content_exception:Compressordetectioncanonlybecalledonsomexcontentbytesorcompressedxcontentbytes];
atorg.elasticsearch.index.mapper.DocumentParser.parseDocument(DocumentParser.java:154)
atorg.elasticsearch.index.mapper.DocumentMapper.parse(DocumentMapper.java:309)
atorg.elasticsearch.index.shard.IndexShard.prepareCreate(IndexShard.java:529)
atorg.elasticsearch.index.shard.IndexShard.prepareCreateOnPrimary(IndexShard.java:506)
atorg.elasticsearch.action.index.TransportIndexAction.prepareIndexOperationOnPrimary(TransportIndexAction.java:215)
atorg.elasticsearch.action.index.TransportIndexAction.executeIndexRequestOnPrimary(TransportIndexAction.java:224)
atorg.elasticsearch.action.index.TransportIndexAction.shardOperationOnPrimary(TransportIndexAction.java:158)
atorg.elasticsearch.action.index.TransportIndexAction.shardOperationOnPrimary(TransportIndexAction.java:66)
atorg.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryPhase.doRun(TransportReplicationAction.java:639)
atorg.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37)
atorg.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryOperationTransportHandler.messageReceived(TransportReplicationAction.java:279)
atorg.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryOperationTransportHandler.messageReceived(TransportReplicationAction.java:271)
atorg.elasticsearch.transport.RequestHandlerRegistry.processMessageReceived(RequestHandlerRegistry.java:75)
atorg.elasticsearch.transport.TransportService$4.doRun(TransportService.java:376)
atorg.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37)
atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
atjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
atjava.lang.Thread.run(Thread.java:745)
Causedby:NotSerializableExceptionWrapper[not_x_content_exception:Compressordetectioncanonlybecalledonsomexcontentbytesorcompressedxcontentbytes]
atorg.elasticsearch.common.compress.CompressorFactory.compressor(CompressorFactory.java:85)
atorg.elasticsearch.common.xcontent.XContentHelper.createParser(XContentHelper.java:50)
atorg.elasticsearch.index.mapper.DocumentParser.parseDocument(DocumentParser.java:90)
...17more

The reason for this exception is that the format of the passed parameter jsonarray is not correct. I printed the following jsonarray format:

[{"name":"hui1","salary":10000.39982635574,"age":8},
{"name":"hui2","salary":10000.160206564933,"age":11},
{"name":"hui3","salary":10000.417013742277,"age":28},
{"name":"hui4","salary":10000.26786620842,"age":7}]

The correct format here should be as follows:

{"name":"hui1","salary":10000.39982635574,"age":8}

Even if the original “[” switch jsonarray “[” is changed to this:

{"name":"hui1","salary":10000.39982635574,"age":8},
{"name":"hui2","salary":10000.160206564933,"age":11},
{"name":"hui3","salary":10000.417013742277,"age":28},
{"name":"hui4","salary":10000.26786620842,"age":7}

It’s also a mistake

Similar Posts: