也许是因为我是ES的新手,但我找不到任何关于查询及其性能/比较的文档?如何解析/翻译像query_string这样的查询?
我想知道哪个性能更好/更快的多通配符过滤器还是string_query?
"query": {
"bool" : {
"must" : [
{
"query_string" : {
"query" : "*val1* OR *val2*",
"default_field" : "field",
"fields" : [ ],
"type" : "best_fields",
"default_operator" : "or",
"max_determinized_states" : 10000,
"enable_position_increments" : true,
"fuzziness" : "AUTO",
"fuzzy_prefix_length" : 0,
"fuzzy_max_expansions" : 50,
"phrase_slop" : 0,
"escape" : false,
"auto_generate_synonyms_phrase_query" : true,
"fuzzy_transpositions" : true,
"boost" : 1.0
}
}
],
"adjust_pure_negative" : true,
"boost" : 1.0
}
}
或者
"query": {
"bool" : {
"filter" : [
{
"bool" : {
"should" : [
{
"wildcard" : {
"field" : {
"wildcard" : "*val1*",
"boost" : 1.0
}
}
},
{
"wildcard" : {
"field" : {
"wildcard" : "*val2*",
"boost" : 1.0
}
}
}
],
"adjust_pure_negative" : true,
"boost" : 1.0
}
}
],
"adjust_pure_negative" : true,
"boost" : 1.0
}
}
1条答案
按热度按时间jc3wubiy1#
这里有一个答案:https://discuss.elastic.co/t/querystring-vs-multiple-wildcards/335382/4.看起来你需要基准测试和自己决定!