gpt4 book ai didi

php - Elasticsearch(PHP)多范围过滤器问题

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

我对Elasticsearch还是很陌生,所以很抱歉这是一个显而易见的问题!

我正在使用PHP库,并尝试对索引进行非常简单的查询。我唯一想做的是对创建映射时设置为日期类型的两个日期(visible_from和visible_to)执行过滤。

我在代码中建立了一个筛选查询,最终看起来像这样:

array (
'index' => 'site',
'from' => 0,
'size' => 10,
'body' =>
array (
'query' =>
array (
'filtered' =>
array (
'filter' =>
array (
'and' =>
array (
'range' =>
array (
'visible_from' =>
array (
'lt' => '2014-06-09 09:06:47',
),
'visible_to' =>
array (
'gt' => '2014-06-09 09:06:47',
),
),
),
),
'query' =>
array (
'match' =>
array (
'_all' => 'example',
),
),
),
),
),
)

这导致抛出BadRequest400Exception-在异常的内容中,我可以看到Elasticssearch在说
QueryParsingException[[site] [and] filter does not support [lt]]

如果删除AND过滤器并仅对其中一个日期执行范围过滤器,则它可以完美运行,我无法使其与AND过滤器一起使用

在此先感谢您的帮助!

最佳答案

请尝试以下查询,并尝试使用小于和大于日期的日期。

array
(
"query" => array
(
"filtered" => array
(
"query" => array
(
"match" => array(
'_all' => 'example',
),
),

"filter" => array
(
"and" => array
(
"filters" => array
(
"0" => array
(
"range" => array
(
"ID" => array
(
"gt" => '2014-06-09 09:06:47',
),
),
),
"1" => array
(
"range" => array
(
"ID" => array
(
"lt" => '2014-06-09 09:06:47',
),
),
),
),
),
),
),
),
)

关于php - Elasticsearch(PHP)多范围过滤器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24116876/

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