Elasticsearch查询:范围限制的语法为400

2024-09-30 18:35:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python与ElasticSearch服务器通信。我正在使用elasticsearch包,我正在格式化查询并将它们提供给body参数中的搜索函数

发送查询效果很好。例如,此查询适用于:

{'query': {'constant_score': {'filter': {'bool': {'must': {'terms': {'id.keyword': ['d42bdc8a-a38b-43fa-9283-13b5e5c08c6e']}}}}}}}

现在我想限制范围,所以我添加了一个小片段(为了清晰起见缩进):

{'query': 
    {'constant_score': 
        {'filter': 
            {'bool': 
                {'must': 
                    {'range': 
                        {'startTime': 
                            {'format': "yyyy-MM-dd'T'HH:mm:ss.SSS",
                             'gte': '2018-01-20T17:19:43.393',
                             'lte': '2018-04-01T17:19:43.393'}
                        },
                     'terms':
                         {'id.keyword':
                             ['d42bdc8a-a38b-43fa-9283-13b5e5c08c6e']
                         }
                     }
                 }
             }
         }
     }
}

(在我看来)在R中运行的查询是相同的。但我的状态是400(请求错误)。有人知道问题出在哪里吗


Tags: 服务器idbodyfilterelasticsearchquerykeywordbool
1条回答
网友
1楼 · 发布于 2024-09-30 18:35:04

您就快到了,这是正确的查询:

{'query': 
    {'constant_score': 
        {'filter': 
            {'bool': 
                {'must': [
                    {'range': 
                        {'startTime': 
                            {'format': "yyyy-MM-dd'T'HH:mm:ss.SSS",
                             'gte': '2018-01-20T17:19:43.393',
                             'lte': '2018-04-01T17:19:43.393'}
                        }
                    },
                    {
                     'terms':
                         {'id.keyword':
                             ['d42bdc8a-a38b-43fa-9283-13b5e5c08c6e']
                         }
                    }
                 ]
               }
             }
         }
     }
}

相关问题 更多 >