python - Elasticsearch查询:范围限制的语法给出400

标签 python rest elasticsearch

我正在使用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(错误请求)。有人看到问题出在哪里吗?

最佳答案

您快到了,这将是正确的查询,它将起作用:

{'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']
                         }
                    }
                 ]
               }
             }
         }
     }
}

关于python - Elasticsearch查询:范围限制的语法给出400,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50230155/

相关文章:

从 YAML 传递数据连接 MYSQL 数据库时,Python 抛出 'ProgrammingError: 1045'

java - 如何在ajax成功函数中从java获取单值响应

ruby-on-rails - Searchkick-Elasticsearch-带下划线而不是空格的名称

elasticsearch - Spring Data ElasticSearch内置IN查询返回部分匹配

python - 在 Python 中使用 Amazon S3 安全地显示图像

python - 使用 Tensorflow 中的索引为 2D 张量赋值

algorithm - 通过 restful API 通过指定的 id 保护对数据库中资源的访问

regex - 带有通配符和匹配条件的Elasticsearch查询

python - 在 python 的 dicom 包中使用 read_file 时的维度轴

javascript - 如何从矩形资源中读取 URL?