How max expansion works?

Hi, I faced the same problem as discussed here: How exactly works "max_expansions" in match_phrase_prefix query? - #2 by Clinton_Gormley
But this is still not answered.

I'm testing how match_phrase_prefix and max expanstion property works in Elasticsearch. Reffering to documentation of max expansion:

Then it looks at the sorted term dictionary to find the first 50 terms that begin with f, and adds these terms to the phrase query.

So I added 3 documents to my test index:

  • trying out Elasticsearch
  • trying out Elasticsearch2
  • trying out Elasticsearch3

Then when I try to query this with max_expansion set to 2, I get all documents instead of 2.

GET /_search
{
    "query": {
        "match_phrase_prefix" : {
            "message" : {
                "query" : "trying out E",
                "max_expansions" : 2
            }
        }
    }
}

Result:

{
      "took": 11,
      "timed_out": false,
      "_shards": {
        "total": 34,
        "successful": 34,
        "skipped": 0,
        "failed": 0
      },
      "hits": {
        "total": 3,
        "max_score": 1.7260926,
        "hits": [
          {
            "_source": {
              "message": "trying out Elasticsearch2"
            }
          },
          {
            "_source": {
              "message": "trying out Elasticsearch"
            }
          },
          {
            "_source": {
              "message": "trying out Elasticsearch3"
            }
          }
        ]
      }
}

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.