2013-01-09 123 views
0

我使用elasticsearch搜索針對一羣人,每一個這些人有日期,這是一個數組(LOCALDATE的)搜索本地日期範圍彈性搜索

但是我不知道如何通過一個完整的搜索日期。我試過「date:'1999,4'」作爲日期,但它返回錯誤。我也嘗試在cURL中做這個,但它也返回錯誤。

self.searchCriteria = "date:1999" 

"http://leServer:9200/people/person/_search?q=" + self.searchCriteria 

它返回以下

 { 
      "_index": "people", 
      "_type": "person", 
      "_id": "YRM33o5NSYa0ljHythDHrg", 
      "_score": 1, 
      "_source": { 
       "date": [ 
        1999, 
        4, 
        23 
       ] 
      } 
     }, 

回答

1

我想不出搜索等陣列的任何明智的方式。我只能建議以下備選方案之一:

  1. 索引它作爲一個數量19990423和使用範圍進行搜索
  2. 索引它作爲一個字符串1999-04-23和使用elasticsearch date類型使用通配符搜索
  3. 和使用範圍搜索
  4. 索引年,月,日的3個不同的領域
+0

如何使用日期類型,並在搜索中使用範圍? – zmanc

+0

[範圍查詢](http://www.elasticsearch.org/guide/reference/query-dsl/range-query.html)支持日期類型。這裏是一個例子:https://gist.github.com/4496959 – imotov

+0

我想我將不得不轉換我索引的數據,然後我將能夠使用該方法。謝謝 ! – zmanc