簡體   English   中英

Elasticsearch(PHP)多范圍過濾器問題

[英]Elasticsearch (PHP) multiple range filters issue

我對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',
                                ),
                            ),
                        ),
                    ),
                ),
            ),
        ),
    ),
)   

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM