0

I would like to know if the following two elastic queries would lead to difrent outcomes or same?

{"bool":{"should":[{"bool":{"must":[{"terms":{"assignee.raw":["AHMEDABAD TEXTILE INDUSTRY'S RESEARCH ASSOCIATION","AHMEDABAD TEXTILE INDUSTRY'S RESERCH ASSOCIATION","AHMEDABAD TEXTILE INDUSTRY?S RESEARCH ASSOCIATION"]}},{"query_string":{"query":"(UNDER EXTENSION ) OR ( INFORCE)","default_operator":"AND","default_field":"legalStatusText"}}]}},{"terms":{"agent.agency.raw":["EPIPHANY IP SOLUTIONS PVT. LTD.","EPIPHANY IP SOLUTIONS PRIVATE LIMITED","EPIPHANY IP SOLUTIONS PVT. LTD"]}}]}}

AND..........

{
  "bool": {
    "should": [
      {
        "bool": {
          "must": [
            {
              "bool": {
                "must": [
                  {
                    "terms": {
                      "assignee.raw": [
                        "SANJAY BAJAJ",
                        "GTG GMBH"
                      ]
                    }
                  },
                  {
                    "terms": {
                      "agent.agency.raw": [
                        "JK STEEL",
                        "ANAND AND ANAND"
                      ]
                    }
                  }
                ]
              }
            },
            {
              "query_string": {
                "query": "(EXPIRED) OR (APPLICATION WITHDRAWN)",
                "default_operator": "AND",
                "default_field": "legalStatusText"
              }
            }
          ]
        }
      }
    ]
  }
}

Basically Does The Extra bool:must in the second snippet makes any difference in the output?

1 Answers1

0

The first query would be (A AND B) OR C

The second query would be ((A AND B) AND C) OR true

So the first and second queries are NOT equivalent because the difference is not about the extra bool/must.

Val
  • 207,596
  • 13
  • 358
  • 360