Sta*_*nko 15
从版本 7.10 开始,wildcard查询支持特殊参数case_insensitive(布尔值)。不区分大小写的搜索示例:
GET /_search
{
"query": {
"wildcard": {
"my_field": {
"value": "ki*y",
"case_insensitive": true
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
通配符没有被分析。这取决于您为要搜索的领域提供了哪些分析器。但是,如果您使用的是默认分析器,那么通配符查询将返回不区分大小写的结果。
示例:在示例索引中发布两个名称,一个是“Sid”,另一个是“sid”。
POST sample/sample
{
"name" : "sid"
}
POST sample/sample
{
"name" : "Sid"
}
Run Code Online (Sandbox Code Playgroud)
然后执行通配符查询:
GET sample/_search
{
"query": {
"wildcard": {
"name": {
"value": "s*"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这将返回两个文件:
{
"took": 10,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 2,
"max_score": 1,
"hits": [
{
"_index": "sample",
"_type": "sample",
"_id": "AWRPM87Wb6oopELrnEKE",
"_score": 1,
"_source": {
"name": "Sid"
}
},
{
"_index": "sample",
"_type": "sample",
"_id": "AWRPM9tpb6oopELrnEKF",
"_score": 1,
"_source": {
"name": "sid"
}
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果您对“S*”执行通配符查询,它将不会返回任何内容。因为默认标记过滤器以小写形式存储术语,而术语“Sid”在倒排索引中存储为“sid”。
| 归档时间: |
|
| 查看次数: |
7735 次 |
| 最近记录: |