title: Search by exact match in all fields in Elasticsearch
body: <p>Let's say I have 3 documents, each of them only contains one field (but let's imagine that there are more, and we need to search through all fields).</p>
  
  <ol>
  <li>Field value is "first second"</li>
  <li>Field value is "second first"</li>
  <li>Field value is "first second third"</li>
  </ol>
  
  <p>Here is a script that can be used to create these 3 documents:</p>
  
  <pre><code># drop the index completely, use with care!
  curl -iX DELETE 'http://localhost:9200/test'
  
  curl -H 'content-type: application/json' -iX PUT 'http://localhost:9200/test/_doc/one' -d '{"name":"first second"}'
  curl -H 'content-type: application/json' -iX PUT 'http://localhost:9200/test/_doc/two' -d '{"name":"second first"}'
  curl -H 'content-type: application/json' -iX PUT 'http://localhost:9200/test/_doc/three' -d '{"name":"first second third"}'
  </code></pre>
  
  <p>I need to find the only document (document 1) that has exactly "first second" text in one of its fields.</p>
  
  <p>Here is what I tried.</p>
  
  <p>A. Plain search:</p>
  
  <pre><code>curl -H 'Content-Type: application/json' -iX POST 'http://localhost:9200/test/_search' -d '{
    "query": {
      "query_string": {
        "query": "first second"
      }
    }
  }'
  </code></pre>
  
  <p>returns all 3 documents</p>
  
  <p>B. Quoting</p>
  
  <pre><code>curl -H 'Content-Type: application/json' -iX POST 'http://localhost:9200/test/_search' -d '{
    "query": {
      "query_string": {
        "query": "\"first second\""
      }
    }
  }'
  </code></pre>
  
  <p>gives 2 documents: 1 and 3, because both contain 'first second'.</p>
  
  <p>Here <a href="https://stackoverflow.com/a/28024714/7637120">https://stackoverflow.com/a/28024714/7637120</a> they suggest to use 'keyword' analyzer to analyze the fields when indexing, but I would like to avoid any customizations to the mapping.</p>
  
  <p>Is it possible to avoid them and still only find document 1?</p>