# \[es/search\] failed: \[x\_content\_parse\_exception\] \[2:4\] Unexpected character ('\\' (code 92)): was expecting double-quote

**URL:** <https://discuss.elastic.co/t/es-search-failed-x-content-parse-exception-2-4-unexpected-character-code-92-was-expecting-double-quote/356632>\
**Category:** Elasticsearch\
**Created:** [April 2, 2024, 6:53pm UTC](https://discuss.elastic.co/t/es-search-failed-x-content-parse-exception-2-4-unexpected-character-code-92-was-expecting-double-quote/356632 "2024-04-02T18:53:45Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![thatelasticguy](https://avatars.discourse-cdn.com/v4/letter/t/8dc957/32.png) [@thatelasticguy](https://discuss.elastic.co/u/thatelasticguy)\
**Post date:** [April 2, 2024, 6:53pm UTC](https://discuss.elastic.co/t/es-search-failed-x-content-parse-exception-2-4-unexpected-character-code-92-was-expecting-double-quote/356632/1 "2024-04-02T18:53:45Z")

</div>

I am using elastic version 8+ with spring boot elasticsearch 5.2.0 dependency. I want to query my index with Odata $filter. I have configured my parser for Odata and it's generating below query json for following query: `$filter=degreeLevel eq masters`

```auto
{
  "bool" : {
    "must" : [
      {
        "match" : {
          "degreeLevel" : {
            "query" : "masters",
            "operator" : "OR",
            "prefix_length" : 0,
            "max_expansions" : 50,
            "fuzzy_transpositions" : true,
            "lenient" : false,
            "zero_terms_query" : "NONE",
            "auto_generate_synonyms_phrase_query" : true,
            "boost" : 1.0
          }
        }
      }
    ],
    "adjust_pure_negative" : true,
    "boost" : 1.0
  }
}

```

But from cluster I am getting 400 with following error:

```auto
Resolved [UncategorizedElasticsearchException: [es/search] failed: [x_content_parse_exception] [2:4] Unexpected character ('\' (code 92)): was expecting double-quote to start field name
 at [Source: (byte[])"{
  \"bool\" : {
    \"must\" : [
      {
        \"match\" : {
          \"degreeLevel\" : {
            \"query\" : \"masters\",
            \"operator\" : \"OR\",
            \"prefix_length\" : 0,
            \"max_expansions\" : 50,
            \"fuzzy_transpositions\" : true,
            \"lenient\" : false,
            \"zero_terms_query\" : \"NONE\",
            \"auto_generate_synonyms_phrase_query\" : true,
            \"boost\" : 1.0
          }
        }
      }
    ],

```

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [April 2, 2024, 8:24pm UTC](https://discuss.elastic.co/t/es-search-failed-x-content-parse-exception-2-4-unexpected-character-code-92-was-expecting-double-quote/356632/2 "2024-04-02T20:24:32Z")

</div>

Welcome!

You need to use the same version for the client and the server.

---

<div class="post-metadata">

**Author:** ![thatelasticguy](https://avatars.discourse-cdn.com/v4/letter/t/8dc957/32.png) [@thatelasticguy](https://discuss.elastic.co/u/thatelasticguy)\
**Post date:** [April 2, 2024, 9:22pm UTC](https://discuss.elastic.co/t/es-search-failed-x-content-parse-exception-2-4-unexpected-character-code-92-was-expecting-double-quote/356632/3 "2024-04-02T21:22:55Z")

</div>

Here is my elastic cluster version:

```auto
{
  "name": "c167c8e1dda1",
  "cluster_name": "docker-cluster",
  "cluster_uuid": "Dn8-_6pySM23uucR0ejdpQ",
  "version": {
    "number": "8.8.1",
    "build_flavor": "default",
    "build_type": "docker",
    "build_hash": "f8edfccba429b6477927a7c1ce1bc6729521305e",
    "build_date": "2023-06-05T21:32:25.188464208Z",
    "build_snapshot": false,
    "lucene_version": "9.6.0",
    "minimum_wire_compatibility_version": "7.17.0",
    "minimum_index_compatibility_version": "7.0.0"
  },
  "tagline": "You Know, for Search"
}

```

And my pom file dependencies for elasticsearch:

```auto
<dependency>
			<groupId>org.springframework.data</groupId>
			<artifactId>spring-data-elasticsearch</artifactId>
			<version>5.2.0</version>
			<exclusions>
				<exclusion>
					<groupId>org.elasticsearch</groupId>
					<artifactId>elasticsearch</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.elasticsearch.client</groupId>
					<artifactId>
						elasticsearch-rest-client
					</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<version>8.8.1</version>
			<groupId>org.elasticsearch</groupId>
			<artifactId>elasticsearch</artifactId>
		</dependency>

		<dependency>
			<groupId>org.elasticsearch.client</groupId>
			<artifactId>elasticsearch-rest-client</artifactId>
			<version>8.8.1</version>
		</dependency>

```

I believe I am using same version on both.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [April 3, 2024, 7:51am UTC](https://discuss.elastic.co/t/es-search-failed-x-content-parse-exception-2-4-unexpected-character-code-92-was-expecting-double-quote/356632/4 "2024-04-03T07:51:16Z")

</div>

Could you share the output of:

```auto
mvn dependency:tree

```

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [April 3, 2024, 2:13pm UTC](https://discuss.elastic.co/t/es-search-failed-x-content-parse-exception-2-4-unexpected-character-code-92-was-expecting-double-quote/356632/5 "2024-04-03T14:13:17Z")

</div>

> [@thatelasticguy](#):
>
> ```plaintext
> Resolved [UncategorizedElasticsearchException: [es/search] failed: [x_content_parse_exception] [2:4] Unexpected character ('\' (code 92)): was expecting double-quote to start field name
> at [Source: (byte[])"{
> \"bool\" : {
> ...
> 
> ```

This exception means that the request being sent to Elasticsearch contains those `\` escape characters, so it isn't valid JSON. I've no idea where that's coming from tho, but it's something in the client. I suspect it might be related to the Spring Boot Elasticsearch usage tho, the maintainers for that library don't visit us here much so you might need to ask for their help directly.

---

<div class="post-metadata">

**Author:** ![thatelasticguy](https://avatars.discourse-cdn.com/v4/letter/t/8dc957/32.png) [@thatelasticguy](https://discuss.elastic.co/u/thatelasticguy)\
**Post date:** [April 3, 2024, 7:23pm UTC](https://discuss.elastic.co/t/es-search-failed-x-content-parse-exception-2-4-unexpected-character-code-92-was-expecting-double-quote/356632/6 "2024-04-03T19:23:47Z")

</div>

```auto
+- org.springframework.boot:spring-boot-starter:jar:3.2.3:compile
[INFO] | +- org.springframework.boot:spring-boot:jar:3.2.3:compile
[INFO] | +- org.springframework.boot:spring-boot-autoconfigure:jar:3.2.3:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-logging:jar:3.2.3:compile
[INFO] | | +- ch.qos.logback:logback-classic:jar:1.4.14:compile
[INFO] | | | \- ch.qos.logback:logback-core:jar:1.4.14:compile
[INFO] | | +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.21.1:compile
[INFO] | | \- org.slf4j:jul-to-slf4j:jar:2.0.12:compile
[INFO] | +- jakarta.annotation:jakarta.annotation-api:jar:2.1.1:compile
[INFO] | +- org.springframework:spring-core:jar:6.1.4:compile
[INFO] | | \- org.springframework:spring-jcl:jar:6.1.4:compile
[INFO] | \- org.yaml:snakeyaml:jar:2.2:compile
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:3.2.3:test
[INFO] | +- org.springframework.boot:spring-boot-test:jar:3.2.3:test
[INFO] | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:3.2.3:test
[INFO] | +- com.jayway.jsonpath:json-path:jar:2.9.0:test
[INFO] | +- jakarta.xml.bind:jakarta.xml.bind-api:jar:4.0.1:test
[INFO] | | \- jakarta.activation:jakarta.activation-api:jar:2.1.2:test
[INFO] | +- net.minidev:json-smart:jar:2.5.0:compile
[INFO] | | \- net.minidev:accessors-smart:jar:2.5.0:compile
[INFO] | | \- org.ow2.asm:asm:jar:9.3:compile
[INFO] | +- org.assertj:assertj-core:jar:3.24.2:test
[INFO] | | \- net.bytebuddy:byte-buddy:jar:1.14.12:runtime
[INFO] | +- org.awaitility:awaitility:jar:4.2.0:test
[INFO] | +- org.hamcrest:hamcrest:jar:2.2:test
[INFO] | +- org.junit.jupiter:junit-jupiter:jar:5.10.2:test
[INFO] | | +- org.junit.jupiter:junit-jupiter-api:jar:5.10.2:test
[INFO] | | | +- org.opentest4j:opentest4j:jar:1.3.0:test
[INFO] | | | +- org.junit.platform:junit-platform-commons:jar:1.10.2:test
[INFO] | | | \- org.apiguardian:apiguardian-api:jar:1.1.2:test
[INFO] | | +- org.junit.jupiter:junit-jupiter-params:jar:5.10.2:test
[INFO] | | \- org.junit.jupiter:junit-jupiter-engine:jar:5.10.2:test
[INFO] | | \- org.junit.platform:junit-platform-engine:jar:1.10.2:test
[INFO] | +- org.mockito:mockito-core:jar:5.7.0:test
[INFO] | | +- net.bytebuddy:byte-buddy-agent:jar:1.14.12:test
[INFO] | | \- org.objenesis:objenesis:jar:3.3:test
[INFO] | +- org.mockito:mockito-junit-jupiter:jar:5.7.0:test
[INFO] | +- org.skyscreamer:jsonassert:jar:1.5.1:test
[INFO] | | \- com.vaadin.external.google:android-json:jar:0.0.20131108.vaadin1:test
[INFO] | +- org.springframework:spring-test:jar:6.1.4:test
[INFO] | \- org.xmlunit:xmlunit-core:jar:2.9.1:test
[INFO] +- io.springfox:springfox-spring-webflux:jar:3.0.0:compile
[INFO] | +- com.fasterxml:classmate:jar:1.6.0:compile
[INFO] | +- org.slf4j:slf4j-api:jar:2.0.12:compile
[INFO] | +- org.springframework.plugin:spring-plugin-core:jar:2.0.0.RELEASE:compile
[INFO] | +- org.springframework.plugin:spring-plugin-metadata:jar:2.0.0.RELEASE:compile
[INFO] | +- io.springfox:springfox-spi:jar:3.0.0:runtime
[INFO] | +- io.springfox:springfox-schema:jar:3.0.0:runtime
[INFO] | +- io.springfox:springfox-core:jar:3.0.0:runtime
[INFO] | \- io.springfox:springfox-spring-web:jar:3.0.0:runtime
[INFO] | \- io.github.classgraph:classgraph:jar:4.8.83:runtime
[INFO] +- org.springframework.boot:spring-boot-starter-webflux:jar:3.2.3:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-json:jar:3.2.3:compile
[INFO] | | +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.15.4:compile
[INFO] | | +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.15.4:compile
[INFO] | | \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.15.4:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-reactor-netty:jar:3.2.3:compile
[INFO] | | \- io.projectreactor.netty:reactor-netty-http:jar:1.1.16:compile
[INFO] | | +- io.netty:netty-codec-http:jar:4.1.107.Final:compile
[INFO] | | | +- io.netty:netty-common:jar:4.1.107.Final:compile
[INFO] | | | +- io.netty:netty-buffer:jar:4.1.107.Final:compile
[INFO] | | | +- io.netty:netty-transport:jar:4.1.107.Final:compile
[INFO] | | | +- io.netty:netty-codec:jar:4.1.107.Final:compile
[INFO] | | | \- io.netty:netty-handler:jar:4.1.107.Final:compile
[INFO] | | +- io.netty:netty-codec-http2:jar:4.1.107.Final:compile
[INFO] | | +- io.netty:netty-resolver-dns:jar:4.1.107.Final:compile
[INFO] | | | +- io.netty:netty-resolver:jar:4.1.107.Final:compile
[INFO] | | | \- io.netty:netty-codec-dns:jar:4.1.107.Final:compile
[INFO] | | +- io.netty:netty-resolver-dns-native-macos:jar:osx-x86_64:4.1.107.Final:compile
[INFO] | | | \- io.netty:netty-resolver-dns-classes-macos:jar:4.1.107.Final:compile
[INFO] | | +- io.netty:netty-transport-native-epoll:jar:linux-x86_64:4.1.107.Final:compile
[INFO] | | | +- io.netty:netty-transport-native-unix-common:jar:4.1.107.Final:compile
[INFO] | | | \- io.netty:netty-transport-classes-epoll:jar:4.1.107.Final:compile
[INFO] | | \- io.projectreactor.netty:reactor-netty-core:jar:1.1.16:compile
[INFO] | | \- io.netty:netty-handler-proxy:jar:4.1.107.Final:compile
[INFO] | | \- io.netty:netty-codec-socks:jar:4.1.107.Final:compile
[INFO] | +- org.springframework:spring-web:jar:6.1.4:compile
[INFO] | \- org.springframework:spring-webflux:jar:6.1.4:compile
[INFO] | \- io.projectreactor:reactor-core:jar:3.6.3:compile
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:3.2.3:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-tomcat:jar:3.2.3:compile
[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-core:jar:10.1.19:compile
[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-el:jar:10.1.19:compile
[INFO] | | \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:10.1.19:compile
[INFO] | \- org.springframework:spring-webmvc:jar:6.1.4:compile
[INFO] +- org.springframework.boot:spring-boot-starter-actuator:jar:3.2.3:compile
[INFO] | +- org.springframework.boot:spring-boot-actuator-autoconfigure:jar:3.2.3:compile
[INFO] | | \- org.springframework.boot:spring-boot-actuator:jar:3.2.3:compile
[INFO] | +- io.micrometer:micrometer-observation:jar:1.12.3:compile
[INFO] | | \- io.micrometer:micrometer-commons:jar:1.12.3:compile
[INFO] | \- io.micrometer:micrometer-jakarta9:jar:1.12.3:compile
[INFO] | \- io.micrometer:micrometer-core:jar:1.12.3:compile
[INFO] | \- org.latencyutils:LatencyUtils:jar:2.0.3:runtime
[INFO] +- org.springframework.data:spring-data-elasticsearch:jar:5.2.0:compile
[INFO] | +- org.springframework:spring-tx:jar:6.1.4:compile
[INFO] | +- org.springframework.data:spring-data-commons:jar:3.2.3:compile
[INFO] | +- co.elastic.clients:elasticsearch-java:jar:8.10.4:compile
[INFO] | | +- com.google.code.findbugs:jsr305:jar:3.0.2:compile
[INFO] | | +- jakarta.json:jakarta.json-api:jar:2.1.3:compile
[INFO] | | +- org.eclipse.parsson:parsson:jar:1.0.0:compile
[INFO] | | \- io.opentelemetry:opentelemetry-api:jar:1.31.0:runtime
[INFO] | | \- io.opentelemetry:opentelemetry-context:jar:1.31.0:runtime
[INFO] | +- org.elasticsearch.client:elasticsearch-rest-client:jar:8.10.4:compile
[INFO] | | +- org.apache.httpcomponents:httpasyncclient:jar:4.1.5:compile
[INFO] | | \- org.apache.httpcomponents:httpcore-nio:jar:4.4.16:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-core:jar:2.15.4:compile
[INFO] | \- com.fasterxml.jackson.core:jackson-databind:jar:2.15.4:compile
[INFO] | \- com.fasterxml.jackson.core:jackson-annotations:jar:2.15.4:compile
[INFO] +- Internal-package:compile
[INFO] | +- org.opensearch:opensearch:jar:1.3.9:compile
[INFO] | | +- org.opensearch:opensearch-core:jar:1.3.9:compile
[INFO] | | +- org.opensearch:opensearch-secure-sm:jar:1.3.9:compile
[INFO] | | +- org.opensearch:opensearch-x-content:jar:1.3.9:compile
[INFO] | | | +- com.fasterxml.jackson.dataformat:jackson-dataformat-smile:jar:2.15.4:compile
[INFO] | | | +- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.15.4:compile
[INFO] | | | \- com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:jar:2.15.4:compile
[INFO] | | +- org.opensearch:opensearch-geo:jar:1.3.9:compile
[INFO] | | +- org.apache.lucene:lucene-core:jar:8.10.1:compile
[INFO] | | +- org.apache.lucene:lucene-analyzers-common:jar:8.10.1:compile
[INFO] | | +- org.apache.lucene:lucene-backward-codecs:jar:8.10.1:compile
[INFO] | | +- org.apache.lucene:lucene-grouping:jar:8.10.1:compile
[INFO] | | +- org.apache.lucene:lucene-highlighter:jar:8.10.1:compile
[INFO] | | +- org.apache.lucene:lucene-join:jar:8.10.1:compile
[INFO] | | +- org.apache.lucene:lucene-memory:jar:8.10.1:compile
[INFO] | | +- org.apache.lucene:lucene-misc:jar:8.10.1:compile
[INFO] | | +- org.apache.lucene:lucene-queries:jar:8.10.1:compile
[INFO] | | +- org.apache.lucene:lucene-queryparser:jar:8.10.1:compile
[INFO] | | +- org.apache.lucene:lucene-sandbox:jar:8.10.1:compile
[INFO] | | +- org.apache.lucene:lucene-spatial-extras:jar:8.10.1:compile
[INFO] | | +- org.apache.lucene:lucene-spatial3d:jar:8.10.1:compile
[INFO] | | +- org.apache.lucene:lucene-suggest:jar:8.10.1:compile
[INFO] | | +- org.opensearch:opensearch-cli:jar:1.3.9:compile
[INFO] | | | \- net.sf.jopt-simple:jopt-simple:jar:5.0.4:compile
[INFO] | | +- com.carrotsearch:hppc:jar:0.8.1:compile
[INFO] | | +- joda-time:joda-time:jar:2.12.2:compile
[INFO] | | +- com.tdunning:t-digest:jar:3.2:compile
[INFO] | | +- org.hdrhistogram:HdrHistogram:jar:2.1.9:compile
[INFO] | | \- net.java.dev.jna:jna:jar:5.5.0:compile
[INFO] | +- org.opensearch.client:spring-data-opensearch:jar:1.3.0:compile
[INFO] | | \- org.opensearch.client:opensearch-rest-high-level-client:jar:2.11.0:compile
[INFO] | | +- org.opensearch.client:opensearch-rest-client:jar:2.11.0:compile
[INFO] | | +- org.opensearch.plugin:mapper-extras-client:jar:2.11.0:compile
[INFO] | | +- org.opensearch.plugin:parent-join-client:jar:2.11.0:compile
[INFO] | | +- org.opensearch.plugin:aggs-matrix-stats-client:jar:2.11.0:compile
[INFO] | | +- org.opensearch.plugin:rank-eval-client:jar:2.11.0:compile
[INFO] | | \- org.opensearch.plugin:lang-mustache-client:jar:2.11.0:compile
[INFO] | | \- com.github.spullara.mustache.java:compiler:jar:0.9.10:compile

```

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [April 3, 2024, 7:23pm UTC](https://discuss.elastic.co/t/es-search-failed-x-content-parse-exception-2-4-unexpected-character-code-92-was-expecting-double-quote/356632/7 "2024-04-03T19:23:47Z")

</div>

OpenSearch/OpenDistro are AWS run products and differ from the original Elasticsearch and Kibana products that Elastic builds and maintains. You may need to contact them directly for further assistance. See [What is OpenSearch and the OpenSearch Dashboard? | Elastic](https://www.elastic.co/elasticsearch/opensearch) for more details.

(This is an automated response from your friendly Elastic bot. Please report this post if you have any suggestions or concerns :elasticheart: )

---

<div class="post-metadata">

**Author:** ![thatelasticguy](https://avatars.discourse-cdn.com/v4/letter/t/8dc957/32.png) [@thatelasticguy](https://discuss.elastic.co/u/thatelasticguy)\
**Post date:** [April 3, 2024, 7:26pm UTC](https://discuss.elastic.co/t/es-search-failed-x-content-parse-exception-2-4-unexpected-character-code-92-was-expecting-double-quote/356632/8 "2024-04-03T19:26:35Z")

</div>

Does that mean the request should not contain those forward slashes?  
I see the `ElasticsearchConfiguration` class from `org.springframework.data.elasticsearch.client.elc` using `JacksonJsonMapper` class, maybe it's coming from there.

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [April 3, 2024, 8:20pm UTC](https://discuss.elastic.co/t/es-search-failed-x-content-parse-exception-2-4-unexpected-character-code-92-was-expecting-double-quote/356632/9 "2024-04-03T20:20:41Z")

</div>

> [@thatelasticguy](#):
>
> Does that mean the request should not contain those forward slashes?

Correct (except that they're backslashes).

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [May 1, 2024, 8:21pm UTC](https://discuss.elastic.co/t/es-search-failed-x-content-parse-exception-2-4-unexpected-character-code-92-was-expecting-double-quote/356632/10 "2024-05-01T20:21:01Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
