I have an index with about a million entries with a rather dynamic
structure. The queries I want to perform are of the kind: "give me exactly
the entries that contain '*abc*' and '*def*' in any two fields". The
results can be returned in an arbitrary order.
Since I still need the analyzer for accent and case folding and the like,
the query I end up with is:
{
"query": {
"match": {
"_all": {
"query": "abc def",
"operator": "and"
}
}
}
}
I have the exact same dataset in Sphinx with min_infix_length = 3 (the
Sphinx equivalent of "min_gram: 3") and on my development machine no query
takes longer than 100 ms (in Sphinx).
I haven't even activated the ngrams in Elasticsearch yet and it already
takes more than 500 ms to search for a new set of terms.
Now I wonder if this rather bad performance is related to the scoring that
is performed and what I can do to make it (much) better. Can I maybe turn
off the scoring (since I don't care about the order at all) and get better
performance by that?
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/ed6690b3-0116-46ef-bdb2-649c2d3e50e2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.