这两个查询之间的区别是什么?为什么要使用其中一个 -
GET _search
{
"query": {
"wildcard": {
"name": "*james*"
}
}
}
GET _search
{
"query": {
"match": {
"name": "%james%"
}
}
}
我无法找到%
版本的文档
答案 0 :(得分:1)
与query_string / field的比较
匹配查询系列不会通过"查询解析"处理。它不支持字段名称前缀,通配符或其他"高级"特征。出于这个原因,它失败的可能性非常小/不存在,并且它在分析和运行该文本作为查询行为(通常是文本搜索框所做的)时提供了极好的行为。此外,当你输入"时,phrase_prefix类型可以提供一个很棒的"自动加载搜索结果的行为。
您可以找到以上here
基本上,您在帖子中包含的匹配查询会将%
字符视为简单文字,但它没有任何特殊含义。