Fuzzy like this prefers partial match over an exact one


(Alexey Kotlyarov) #1

When making FLT queries, a partial match is preferred over an exact match.
Here is a reproduction:

Create a dummy index

curl -s -XDELETE http://localhost:9200/maori >/dev/null || true

Partial match

curl -s -XPUT http://localhost:9200/maori/idx/1 -d '{ "text": "penguin" }'

/dev/null

Exact match

curl -s -XPUT http://localhost:9200/maori/idx/2 -d '{ "text": "submarine
penguin" }' >/dev/null

Refresh

curl -s -XPOST http://localhost:9200/maori/_refresh >/dev/null

Query

curl -s -XGET http://localhost:9200/maori/idx/_search -d '
{
"query": {
"flt": {
"like_text": "submarine penguin"
}
}
}
'

I expect "submarine penguin" to be first, but it is returned second, with a
lower score (0.27 vs. 0.3).

How do I get the first result to score better than the second one?

Elasticsearch version: 1.2.1

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/539f9213-1391-4e84-85ac-951e8638cff3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


(system) #2