title: How to convert Lucene query string to Elasticsearch Match/Match_Prefix etc equivalent
body: <p>I am currently working on migrating from SOLR v3 to Elasticsearch v5.11. My question is, how would I convert the below query string to an Elasticsearch Match/Match Phrase etc equivalent. Is this even possible?</p>
  
  <pre><code>(entityName:(john AND lewis OR "john lewis") 
  OR entityNameText:(john AND lewis OR "john lewis")) 
  AND (status( "A" OR "I" status))
  </code></pre>
  
  <p>I tried to do so, so far only with the first set of brackets but it doesn't seem correct:</p>
  
  <pre><code>{
  "bool": {
      "should": [
          [{
              "bool": {
                  "should": [
                      [{
                          "match_phrase": {
                              "entityName": "john lewis"
                          }
                      }]
                  ],
                  "must": [
                      [{
                          "match": {
                              "entityName": {
                                  "query": "john lewis",
                                  "operator": "and"
                              }
                          }
                      }]
                  ]
              }
          }, {
              "bool": {
                  "should": [
                      [{
                          "match_phrase": {
                              "entityNameText": "john lewis"
                          }
                      }]
                  ],
                  "must": [
                      [{
                          "match": {
                              "entityNameText": {
                                  "query": "john lewis",
                                  "operator": "and"
                              }
                          }
                      }]
                  ]
              }
          }]
      ]
  }
  </code></pre>
  
  <p>}</p>
  
  <p>Thanks</p>
  
  <p><strong>Updated:</strong></p>
  
  <p>entityName and entityNameText are both mapped as text types with custom analyzers for both search and query. Status is mapped as a keyword type.</p>