{
"query":{
"bool":{
"must":[
{
"query_string":{
"query":"*sony*",
"analyze_wildcard":true,
"default_field":"title"
}
}
]
}
}
}
上面的查询应该不区分大小写吗?但实际上它是区分大小写的,是否应该添加任何参数以使其不区分大小写?
答案 0 :(得分:0)
我不会使用通配符查询之类的方法。参见https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wildcard-query.html
请注意,此查询的速度可能很慢,因为它需要迭代许多项。为了防止极慢的通配符查询,通配符术语不应以通配符*或?之一开头。
回到您的问题,documentation says关于analyze_wildcard
:
默认情况下,不分析查询字符串中的通配符术语。通过将此值设置为true,也将尽最大努力对这些值进行分析。