gpt4 book ai didi

elasticsearch - Elastic Search “must_not”不适用于 “filter”的字符串

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

为什么must_not在“过滤器”中不起作用? (请看下面的图片)。

相同的“must_not”适用于“query”(图片中的注释)

enter image description here

以文字查询:

GET _search
{
"query": {
"filtered": {
"query": {
"bool": {
"must": [
{"match": {"ObjectData.PRTNAME":{"query": "1","fuzziness": "auto"}}},
{"match": {"mostRecentVersion": true}}
]
// , "must_not": { "match": { "ObjectData.STATE": "ACTIVE" }}
}
},
"filter": {
"bool": {
"must": [
{"term": {"ObjectData.ISCLIENT": "1"}},
{"term": {"mostRecentVersion": "true"}}
],
"must_not": [
{ "term": {"ObjectData.PARTICIPANTTYPE": 4}},
{ "term": {"ObjectData.ISTAXRESIDENT": 0}},
{ "term": {"ObjectData.STATE": "ACTIVE"}}
]
}
}
}
}
}

最佳答案

可能是因为您的ObjectData.STATE是经过分析的字符串。试试这个代替它应该工作。

{ "term": {"ObjectData.STATE": "active"}} 

如果要继续使用 ACTIVE而不是 active进行查询,则需要将 ObjectData.STATE的映射从
{
"STATE": {
"type": "string"
}
}


{
"STATE": {
"type": "string",
"index": "not_analyzed"
}
}

或者,如果您正在使用ES 5
{
"STATE": {
"type": "keyword"
}
}

关于elasticsearch - Elastic Search “must_not”不适用于 “filter”的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42019319/

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