gpt4 book ai didi

elasticsearch - 在 Elastic Search 中过滤通配符搜索

转载 作者:行者123 更新时间:2023-11-29 02:53:10 26 4
gpt4 key购买 nike

我正在尝试使用 Elasticsearch 在通配符查询上添加一个复杂的过滤器。过滤器似乎在工作,但是,结果没有考虑通配符。这是可能的还是有通配符过滤器的替代方法?查询如下:

{
"query": {
"filtered": {
"query": {
"wildcard": {
"name": "*frog*"
},
"filter": {
"bool": {
"must": {
"term": {
"is_animal": false
}
}
},
"or": [
{
"terms": {
"reptiles.codes": [
27
]
}
},
{
"nested": {
"path": "owners",
"query": {
"bool": {
"should": {
"term": {
"pets": "cat"
}
}
}
}
}
},
{
"nested": {
"path": "locations",
"query": {
"bool": {
"should": {
"term": {
"home": true
}
}
}
}
}
}
]
}
}
}
}
}

或者,我可以在我的 "bool": { "must": .... }} 中添加通配符作为过滤器吗?

最佳答案

你绝对应该在你的分析器中使用 ngram token 过滤器,而不是运行一个非常慢的通配符,特别是如果它以星号开头,这里就是这种情况。

话虽这么说,但我不明白为什么这里没有应用通配符部分。你有没有机会用一个完整的例子来重现你的案例?也许你有特定的分析仪?

关于elasticsearch - 在 Elastic Search 中过滤通配符搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28246410/

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