lundi 2 novembre 2015

Why doesn't Elasticsearch's query_string score an exact-matched string highest?

I'm using default analyzers and indexing. So let's say I have this simple mapping:

"question": {
    "properties": {
        "title": {
            "type": "string"
        },
        "answer": {
            "properties": {
                "text": {
                    "type": "string"
                }
            }
        }
    }
}

(that was an example. sorry if it has typos)

Now, I perform the following search.

GET _search
{
    "query": {
        "query_string": {
            "query": "yes correct",
            "fields": "answer.text"
        }
    }
}

The results will score a text value like "yes correct." higher than simply "yes correct" (without a period). I'd like to understand why something seems like an exact match is not scored higher than something with an extra character in it. I'm not setting any custom analyzers, so everything is using default values for Elasticsearch 1.7.

Aucun commentaire:

Enregistrer un commentaire