title: Elasticsearch - How to find exact value in a long text using query string
body: <p>I am having troubles using the Elasticsearch technology. I would like to find an exact value in a long text using the query string.</p>
  
  <p>Example:
  If I am looking for the terms "like my dogs", I would like the document containing "I like my dogs and cats" to be retrieved.</p>
  
  <p>To do so, I want to use the query string with the quotes (as I had to implement the logical operators AND OR NOT):</p>
  
  <pre><code>{
      "query_string" : {
          "query" : "like my dogs"
      }
  }
  </code></pre>
  
  <p>I probably have a bad mapping. Here is the mapping for the field to query:</p>
  
  <pre><code>"settings":{
       "analyzer": {
            "default": {
              "type": "custom",
              "tokenizer": "standard",
               "filter": ["asciifolding", "lowercase", "french_stemmer", "elision", "french_stop"]
          },
          "lowercase": {
              "tokenizer": "keyword",
              "filter": ["lowercase"]
          }
  },
  "mappings": {
      "content": {
           "type": "string",
           "fields": {
                "raw":   { "type": "string", "index": "not_analyzed" },
                 "custom":   { "type": "string", "analyzer": "lowercase" }
           }
      }
  }
  </code></pre>
  
  <p>The problem with this mapping is that Elasticsearch also retrieves documents having the following text in content : "my dog is beautiful" because it matches the "my dog" (tokenization included).</p>
  
  <p>How can I overcome this problem ?</p>
  
  <p>Thanks in advance for your help.</p>