gpt4 book ai didi

Elasticsearch 通配符区分大小写

转载 作者:行者123 更新时间:2023-12-04 03:43:51 28 4
gpt4 key购买 nike

最佳答案

通配符没有被分析。这取决于您为要搜索的领域提供了哪些分析器。但是,如果您使用默认分析器,那么通配符查询将返回 不区分大小写 结果。

示例:在示例索引中发布两个名称,一个是“Sid”,另一个是“sid”。

POST sample/sample
{
"name" : "sid"
}

POST sample/sample
{
"name" : "Sid"
}

然后执行通配符查询:
GET sample/_search
{
"query": {
"wildcard": {
"name": {
"value": "s*"
}
}
}
}

这将返回两个文件:
{
"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"
}
}
]
}
}

但是,如果您对“S*”执行通配符查询,它将不会返回任何内容。因为默认标记过滤器以小写形式存储术语,而术语“Sid”在倒排索引中存储为“sid”。

关于Elasticsearch 通配符区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51107349/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com