Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ElasticSearch-无法识别的字符转义_Java_Json_Parsing_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Escaping - Fatal编程技术网 elasticsearch,escaping,Java,Json,Parsing,elasticsearch,Escaping" /> elasticsearch,escaping,Java,Json,Parsing,elasticsearch,Escaping" />

Java ElasticSearch-无法识别的字符转义

Java ElasticSearch-无法识别的字符转义,java,json,parsing,elasticsearch,escaping,Java,Json,Parsing,elasticsearch,Escaping,我有以下例外: [index {[mmm][info][1484211], source[ {"content":"В 1966 г. М. Флинном (Flynn) был предложен следующий подход к классификации архитектур вычислительных систем. В основу было положено понятие потока, под которым понимается последовательность э

我有以下例外:

[index {[mmm][info][1484211], source[
{"content":"В 1966 г. М. Флинном (Flynn) был предложен следующий подход к классификации архитектур вычислительных систем. В основу было положено понятие потока, под которым понимается последовательность элементов, команд или данных, обрабатываемая процессором. Соответствующая система классификации основана на рассмотрении числа потоков инструкций и потоков данных и описывает четыре базовых класса (табл. 2.8, рис. 2.48). Коротко рассмотрим отличительные особенности каждой из архитектур. Таблица 2.8 Классификация Флинна Поток данных Поток команд одиночный множественный"}]}]
MapperParsingException[failed to parse [content]]; nested: JsonParseException[Unrecognized character escape '(' (code 40)
 at [Source: org.elasticsearch.common.io.stream.InputStreamStreamInput@5958b83d; line: 1, column: 46]];
    at org.elasticsearch.index.mapper.FieldMapper.parse(FieldMapper.java:339)
    at org.elasticsearch.index.mapper.DocumentParser.parseObjectOrField(DocumentParser.java:314)
    at org.elasticsearch.index.mapper.DocumentParser.parseValue(DocumentParser.java:441)
    at org.elasticsearch.index.mapper.DocumentParser.parseObject(DocumentParser.java:267)
    at org.elasticsearch.index.mapper.DocumentParser.innerParseDocument(DocumentParser.java:127)
    at org.elasticsearch.index.mapper.DocumentParser.parseDocument(DocumentParser.java:79)
    at org.elasticsearch.index.mapper.DocumentMapper.parse(DocumentMapper.java:318)
    at org.elasticsearch.index.shard.IndexShard.prepareIndex(IndexShard.java:551)
    at org.elasticsearch.index.shard.IndexShard.prepareIndex(IndexShard.java:542)
    at org.elasticsearch.action.support.replication.TransportReplicationAction.prepareIndexOperationOnPrimary(TransportReplicationAction.java:1049)
    at org.elasticsearch.action.support.replication.TransportReplicationAction.executeIndexRequestOnPrimary(TransportReplicationAction.java:1060)
    at org.elasticsearch.action.index.TransportIndexAction.shardOperationOnPrimary(TransportIndexAction.java:170)
    at org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryPhase.performOnPrimary(TransportReplicationAction.java:579)
    at org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryPhase$1.doRun(TransportReplicationAction.java:452)
    at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: com.fasterxml.jackson.core.JsonParseException: Unrecognized character escape '(' (code 40)
 at [Source: org.elasticsearch.common.io.stream.InputStreamStreamInput@5958b83d; line: 1, column: 46]
    at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1581)
    at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:533)
    at com.fasterxml.jackson.core.base.ParserMinimalBase._handleUnrecognizedCharacterEscape(ParserMinimalBase.java:510)
    at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._decodeEscaped(UTF8StreamJsonParser.java:3171)
    at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._finishString2(UTF8StreamJsonParser.java:2456)
    at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._finishAndReturnString(UTF8StreamJsonParser.java:2411)
    at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.getText(UTF8StreamJsonParser.java:285)
    at org.elasticsearch.common.xcontent.json.JsonXContentParser.text(JsonXContentParser.java:88)
    at org.elasticsearch.common.xcontent.support.AbstractXContentParser.textOrNull(AbstractXContentParser.java:194)
    at org.elasticsearch.index.mapper.core.StringFieldMapper.parseCreateFieldForString(StringFieldMapper.java:354)
    at org.elasticsearch.index.mapper.core.StringFieldMapper.parseCreateField(StringFieldMapper.java:294)
    at org.elasticsearch.index.mapper.FieldMapper.parse(FieldMapper.java:331)
    ... 17 more

已经有好几次了,我找不出是什么问题。正如我看到的,所有特殊字符都被转义了,但是我经常遇到这个异常。我使用elasticsearch 2.1。我也试过用1.4,结果是一样的。如何修复它?

错误来自JSON解析器,而不是elasticsearch本身。你的

“b 1966Г.М.Фаажжаааааааааааааа классификации архитектур вычислительных систем. В основу было положено понятие потока, под которым понимается последовательность элементов, команд или данных, обрабатываемая процессором. Соответствующая система классификации основана на рассмотрении числа потоков инструкций и потоков данных и описывает четыре базовых класса (табл. 2.8, рис. 2.48). Коротко рассмотрим отличительные особенности каждой из архитектур. Таблица 2.8 Классификация Флинна Поток данных Поток команд ччъжччч

对于JSON字符串无效。当解析器在字符串中看到一个字符“\”时,它假定这是转义字符,下一个字符应该是控制字符,而在您的例子中不是。在JSON语法中,“(”或“)”均未定义为控制字符

字符内(字符)定义的控制字符:

char
any-Unicode-character-
    except-"-or-\-or-
    control-character
\"
\\
\/
\b
\f
\n
\r
\t
\u four-hex-digits