2017-09-25 48 views
1

我已經使用下面的映射創建了一個索引。ElasticSearch日期範圍查詢返回所有值

指數映射:

{ 
    "mappings": { 
    "document": { 
     "properties": { 
      "doc_date": { 
      "type": "date" , 
      "format": "yyyy/MM/dd" 
     } 
     } 
    } 
    } 
} 

我索引的兩個記錄。如下所示。

記錄:

{ 
"doc_date": "2017/06/10", 
"Record":"A" 
} 
{ 
"doc_date": "2017/05/10", 
"Record":"D" 
} 

我想選擇哪個是大於或等於日期2017年6月10日的文件。

查詢:

{ 
    "query": { 
     "range" : { 
      "doc_date" : { 
       "lte": "2017/06/10", 
       "format": "yyyy/MM/dd" 
      } 
     } 
    } 
} 

但上面的查詢返回的所有文檔中的索引。

ElasticSearch版本:5.0.2

+1

你應該使用'gte',而不是'lte' –

回答

1

lte意味着每種不超過或等於所述日期。所以你在2017/06/10和日期本身之前得到所有日期。你必須使用gte這意味着大於或等於。