gpt4 book ai didi

elasticsearch - 在Elasticsearch中对术语使用通配符

转载 作者:行者123 更新时间:2023-12-03 01:39:33 25 4
gpt4 key购买 nike

我想模拟SQL的IN,所以我使用了术语过滤器,但是术语不支持通配符,例如在“* egypt *”中添加astrisck。

所以我如何实现以下查询?

PS:我正在使用elastica

{
"query": {
"bool": {
"should": [
{
"terms": {
"country_name": [
"*egypt*",
"*italy*"
]
}
}
]
}
},
"sort": [
{
"rank": {
"order": "desc"
}
}
]
}

最佳答案

terms查询不支持通配符。您可以改用matchwildcard查询。如果您的问题是要过滤的多个值,则可以在should内合并查询,因此看起来像这样

{
"query": {
"bool": {
"should": [
{
"wildcard": {
"country_name": "*egypt*"
}
},
{
"wildcard": {
"country_name": "*italy*"
}
}
]
}
},
"sort": [
{
"rank": {
"order": "desc"
}
}
]
}

关于elasticsearch - 在Elasticsearch中对术语使用通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49011211/

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