Elasticsearch中的match_phrase_prefix、prefix和wildcard查询详解
在Elasticsearch中,match_phrase_prefix
、prefix
和wildcard
查询是用来在文本字段中查找特定词项或者词项前缀的方法。
match_phrase_prefix
查询:用于查找包含特定词项前缀的文档,并且这些词项在文档中的顺序与提供的词项顺序相匹配。
GET /_search
{
"query": {
"match_phrase_prefix": {
"fieldname": {
"query": "foo bar",
"slop":
}
}
}
}
prefix
查询:用于查找特定字段中以指定前缀开头的词项。
GET /_search
{
"query": {
"prefix": {
"fieldname": {
"value": "foo"
}
}
}
}
wildcard
查询:用于通过通配符查找特定字段中的词项。
GET /_search
{
"query": {
"wildcard": {
"fieldname": {
"value": "f*bar"
}
}
}
}
注意:wildcard
查询的性能开销很大,因为它会对所有匹配的词项执行通配符匹配,所以应当避免在高基数字段上使用。
评论已关闭