Taichi
Taichi

Reputation: 2597

How to divide ElasticSearch query from beginning

When execute query like this;

GET /library/books/_search
{
  "query": {
    "match": {
      "title": "quick brown fox"
    }
  }
}

, it searches "quick" or "brown" or "fox".

But I wanna search by "quick" or "quick brown" or "quick brown fox",

because I don't need just "brown fox".

How can I do this easily?

Upvotes: 0

Views: 33

Answers (1)

Val
Val

Reputation: 217474

You can do it like this using match_phrase:

GET /library/books/_search
{
  "query": {
    "bool": {
      "should": [
        {
          "match": {
            "title": "quick"
          }
        },
        {
          "match_phrase": {
            "title": "quick brown"
          }
        },
        {
          "match_phrase": {
            "title": "quick brown fox"
          }
        }
      ]
    }
  }
}

Upvotes: 1

Related Questions