1
我對Elasticsearch很新穎,所以如果這是一個明顯的問題,請致歉!Elasticsearch(PHP)多範圍過濾器問題
我正在使用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]]
如果我刪除和過濾,只是針對其中一個日期,執行範圍過濾器,那麼它完美的作品,我只是無法得到它與工作和過濾
在此先感謝您的幫助!
這是非常有益的,謝謝。我不得不用'ID'替換我的屬性,但是使用了filters數組。非常感謝! – alexdover
很高興知道它適合你:)你可以使用'visible_to'和'visible_from'以及它將工作。在我的例子中'ID'是一個字段名稱。 – Roopendra