# Simple query string query returning invalid results

**URL:** <https://discuss.elastic.co/t/simple-query-string-query-returning-invalid-results/43022>\
**Category:** Elasticsearch\
**Created:** [February 29, 2016, 5:11pm UTC](https://discuss.elastic.co/t/simple-query-string-query-returning-invalid-results/43022 "2016-02-29T17:11:48Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![fernandomm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/fernandomm/32/539_2.png) [@fernandomm](https://discuss.elastic.co/u/fernandomm)\
**Post date:** [February 29, 2016, 5:11pm UTC](https://discuss.elastic.co/t/simple-query-string-query-returning-invalid-results/43022/1 "2016-02-29T17:11:48Z")

</div>

I'm using the following query:

```
{  
   "query":{  
      "filtered":{  
         "query":{  
            "simple_query_string":{  
               "query":"subject:\"mystring\""
            }
         }
      }
   }
}

```

From what I understand, it should only returns records in which the subject field contains "mystring". But ES is returning all records that contains mystring in all fields.

What exactly causes that? Is it possible to change this behavior?

---

<div class="post-metadata">

**Author:** ![evert](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/evert/32/8143_2.png) [@evert](https://discuss.elastic.co/u/evert)\
**Post date:** [February 29, 2016, 5:24pm UTC](https://discuss.elastic.co/t/simple-query-string-query-returning-invalid-results/43022/2 "2016-02-29T17:24:21Z")

</div>

Hi Fernandomm,

Try this and let us know what would be the result:

```
{
  "query": { 
    "match": { 
      "subject": "mystring"
    }
  }
}

```

Regards,

---

<div class="post-metadata">

**Author:** ![fernandomm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/fernandomm/32/539_2.png) [@fernandomm](https://discuss.elastic.co/u/fernandomm)\
**Post date:** [February 29, 2016, 5:45pm UTC](https://discuss.elastic.co/t/simple-query-string-query-returning-invalid-results/43022/3 "2016-02-29T17:45:57Z")

</div>

Yes, in this case it works and only returns 12 results.

If i'm using simple\_query\_string, it returns 1627 results.

---

<div class="post-metadata">

**Author:** ![Ivan](https://avatars.discourse-cdn.com/v4/letter/i/df788c/32.png) [@Ivan](https://discuss.elastic.co/u/Ivan)\
**Post date:** [February 29, 2016, 6:09pm UTC](https://discuss.elastic.co/t/simple-query-string-query-returning-invalid-results/43022/4 "2016-02-29T18:09:59Z")

</div>

I am not familiar with the simple query string query, but I am assuming it  
does not support having the field name as part of the query string, one of  
the "simple" aspects. Either switch to the normal query string query, or  
remove the field from the query string and explicitly place it in the field  
parameter:

{  
"query": {  
"filtered": {  
"query": {  
"simple\_query\_string": {  
"query": ""mystring"",  
"fields": "subject"  
}  
}  
}  
}  
}

Ivan

---

<div class="post-metadata">

**Author:** ![fernandomm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/fernandomm/32/539_2.png) [@fernandomm](https://discuss.elastic.co/u/fernandomm)\
**Post date:** [March 1, 2016, 1:48am UTC](https://discuss.elastic.co/t/simple-query-string-query-returning-invalid-results/43022/5 "2016-03-01T01:48:56Z")

</div>

Hi Ivan,

You're correct. I will have to parse this manually since the normal query\_string will throw exceptions if there are syntax errors.

I was trying to provide a "google like" experience for search and somehow thought that simple query search was what I needed. But without supporting search by specific fields, it's definitely not what I need.

It looks like I need something like query\_string but without exceptions. Do you know if this is supported by ElasticSearch?

---

<div class="post-metadata">

**Author:** ![Ivan](https://avatars.discourse-cdn.com/v4/letter/i/df788c/32.png) [@Ivan](https://discuss.elastic.co/u/Ivan)\
**Post date:** [March 1, 2016, 5:46am UTC](https://discuss.elastic.co/t/simple-query-string-query-returning-invalid-results/43022/6 "2016-03-01T05:46:24Z")

</div>

I would on fixing the exceptions. What are they? Formatting issues? Quotes?

---

<div class="post-metadata">

**Author:** ![fernandomm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/fernandomm/32/539_2.png) [@fernandomm](https://discuss.elastic.co/u/fernandomm)\
**Post date:** [March 1, 2016, 12:57pm UTC](https://discuss.elastic.co/t/simple-query-string-query-returning-invalid-results/43022/7 "2016-03-01T12:57:29Z")

</div>

It depends. Sometimes users forget to close quotes, sometimes they forget to close parentheses etc.

That's why I was looking for a way to simply ignore syntax errors since I just can't force our users to learn the query string syntax.

---

<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:** [July 5, 2017, 11:12pm UTC](https://discuss.elastic.co/t/simple-query-string-query-returning-invalid-results/43022/8 "2017-07-05T23:12:30Z")

</div>


