为什么在对字段执行query_string查询时它不区分大小写并且通配符查询区分大小写?我会认为这两个行为会相似。
此query_string查询返回结果
{
"query": {
"bool" : {
"must" : [ {
"query_string" : {
"query" : "name:*HILTON*"
}
} ]
}
}
}
此通配符查询的位置
{
"query": {
"bool" : {
"must" : [{
"wildcard" : {
"name" : "*HILTON*"
}
} ]
}
}
}
答案 0 :(得分:4)
这是因为Wild card query适用于not analyzed
字段。
根据文件:
前缀,通配符和正则表达式查询按术语运行。如果您使用它们来查询分析的字段,它们将检查字段中的每个术语,而不是整个字段。
通配符查询匹配具有与通配符表达式(未分析)匹配的字段的文档。