gpt4 book ai didi

arrays - 在过滤器查询结果中保留缺少字段的文档

转载 作者:行者123 更新时间:2023-12-02 22:46:16 25 4
gpt4 key购买 nike

我正在用以下查询查询索引:

GET / dbpedia201510 / entity / _search
{
“来自”:0,
“大小”:10000,
“查询”:{
“ bool(boolean) ”:{
“必须”:{
“请求参数”:{
“字段”:[“名称”,“别名”,“假名”],
“query”:“Elias〜Franck〜”,
“default_operator”:“或”,
“模糊性”:“自动”
}
},
“过滤器”:{
“ bool(boolean) ”:{
“必须”:[
{
“条款”:{
“job.keyword”:[“建筑师”,“政客”,“裁缝”]
}
}
]
}
}
}
}
}
job字段是一个字符串数组,查询的工作方式与预期的一样。不过,有些文档没有job字段,我也希望获得这些文档。

我怎样才能做到这一点?

最佳答案

您需要在此处使用should clause,当job字段存在并且匹配术语查询 job字段不存在时,它就会匹配。

您的最终查询应如下所示:

GET /dbpedia201510/entity/_search
{
"from": 0,
"size": 10000,
"query": {
"bool": {
"must": {
"query_string": {
"fields": ["name","alias","pseudonyme"],
"query": "Elias~ Franck~",
"default_operator": "OR",
"fuzziness": "auto"
}
},
"filter": {
"bool": {
"should": [
{
"terms": {
"job.keyword": ["Architect","Politician","Tailor"]
}
},
{
"bool": {
"must_not": {
"exists": {
"field": "job"
}
}
}
}
]
}
}
}
}
}

关于arrays - 在过滤器查询结果中保留缺少字段的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43686752/

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