# How to send a query as String with the Java API Rest

**URL:** <https://discuss.elastic.co/t/how-to-send-a-query-as-string-with-the-java-api-rest/190536>\
**Category:** Elasticsearch\
**Created:** [July 15, 2019, 12:50pm UTC](https://discuss.elastic.co/t/how-to-send-a-query-as-string-with-the-java-api-rest/190536 "2019-07-15T12:50:39Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![matheusribeirogarcia](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/matheusribeirogarcia/32/44363_2.png) [@matheusribeirogarcia](https://discuss.elastic.co/u/matheusribeirogarcia)\
**Post date:** [July 15, 2019, 12:50pm UTC](https://discuss.elastic.co/t/how-to-send-a-query-as-string-with-the-java-api-rest/190536/1 "2019-07-15T12:50:39Z")

</div>

Hello, I'm trying to send a Update request using a Query as String, but to write an query in JSON format in java, I have to use ", but the parser can't understand this characters, what could I do?

For example, having this query:

`String queryString = "\"query\": {\"match_all\": {}}";`

When I use this:

`searchSourceBuilder.query(QueryBuilders.queryStringQuery(queryString));`

I get that error:

"reason":"Cannot parse '"query": {"match\_all": {}}': Encountered " ":" ": "" at line 1, column 7.\r\nWas expecting one of:\r\n .....

---

<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:** [July 15, 2019, 1:09pm UTC](https://discuss.elastic.co/t/how-to-send-a-query-as-string-with-the-java-api-rest/190536/2 "2019-07-15T13:09:26Z")

</div>

The query string query is not meant for that.  
May be you can do something like:

```
searchSourceBuilder.source(json);

```

?

---

<div class="post-metadata">

**Author:** ![matheusribeirogarcia](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/matheusribeirogarcia/32/44363_2.png) [@matheusribeirogarcia](https://discuss.elastic.co/u/matheusribeirogarcia)\
**Post date:** [July 15, 2019, 1:14pm UTC](https://discuss.elastic.co/t/how-to-send-a-query-as-string-with-the-java-api-rest/190536/3 "2019-07-15T13:14:53Z")

</div>

i'll try that, thanks

---

<div class="post-metadata">

**Author:** ![matheusribeirogarcia](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/matheusribeirogarcia/32/44363_2.png) [@matheusribeirogarcia](https://discuss.elastic.co/u/matheusribeirogarcia)\
**Post date:** [July 15, 2019, 1:33pm UTC](https://discuss.elastic.co/t/how-to-send-a-query-as-string-with-the-java-api-rest/190536/4 "2019-07-15T13:33:44Z")

</div>

> [@dadoonet](#):
>
> The query string query is not meant for that.  
> May be you can do something like:
> 
> ```
> searchSourceBuilder.source(json);
> 
> ```
> 
> ?

There's no such function at `searchSourceBuilder`

at least, not in 7.2 java api rest

---

<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:** [July 15, 2019, 1:51pm UTC](https://discuss.elastic.co/t/how-to-send-a-query-as-string-with-the-java-api-rest/190536/5 "2019-07-15T13:51:16Z")

</div>

Any similar one? Can't really check on my phone ATM.

---

<div class="post-metadata">

**Author:** ![matheusribeirogarcia](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/matheusribeirogarcia/32/44363_2.png) [@matheusribeirogarcia](https://discuss.elastic.co/u/matheusribeirogarcia)\
**Post date:** [July 15, 2019, 2:13pm UTC](https://discuss.elastic.co/t/how-to-send-a-query-as-string-with-the-java-api-rest/190536/6 "2019-07-15T14:13:09Z")

</div>

i'll check something like that

---

<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:** [July 15, 2019, 4:02pm UTC](https://discuss.elastic.co/t/how-to-send-a-query-as-string-with-the-java-api-rest/190536/7 "2019-07-15T16:02:57Z")

</div>

You can do something like:

```auto
client.search(new SearchRequest("test").source(
        new SearchSourceBuilder().query(
                QueryBuilders.wrapperQuery("{\"match_all\":{}}")
        )
), RequestOptions.DEFAULT);

```

---

<div class="post-metadata">

**Author:** ![matheusribeirogarcia](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/matheusribeirogarcia/32/44363_2.png) [@matheusribeirogarcia](https://discuss.elastic.co/u/matheusribeirogarcia)\
**Post date:** [July 15, 2019, 6:20pm UTC](https://discuss.elastic.co/t/how-to-send-a-query-as-string-with-the-java-api-rest/190536/8 "2019-07-15T18:20:01Z")

</div>

Thanks, it worked.

---

<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:** [August 12, 2019, 6:20pm UTC](https://discuss.elastic.co/t/how-to-send-a-query-as-string-with-the-java-api-rest/190536/9 "2019-08-12T18:20:12Z")

</div>

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