2013-06-25 50 views
0

我用interval =「quarter」做了一個日期直方圖facet。在我看來,「2003-07」季度有10項結果。問題是如何使lucene查詢/搜索來獲取這些文檔?按日期搜索,我通常做的:是否可以在elasticsearch/lucene的「quarter」中按日期搜索?

myquery AND (dateField: 2003-07) 

如何通過所有文檔的季度內搜索「2003-07」如果能(最好是在人類可讀的Lucene的)?

回答

0

問題提到elasticsearch所以我這方面內應答(雖然這個問題僅機身國家「Lucene的查詢」)。

用於檢索日期範圍的彈性搜索查詢是我如何處理它的。例如,

{"facets": { 
    "keywords":{ 
    "terms": 
     {"size":100,"field":"text"} 
    } 
    }, 
    "query":{ 
    "filtered":{ 
     "filter":{ 
     "range":{ 
      "created_at":{ 
      "from":"2013-07-01T00:00:00+00:00", 
      "to":"2013-10-01T00:00:00+00:00" 
     } 
     } 
    } 
    } 
} 

這會將結果(以及所有方面)限制在該日期範圍內。或者,刪除"filtered": {"filter"屬性以便有一個不影響方面結果的直接查詢。

請注意,您也可以考慮時區。

+0

如果沒有好的方法讓用戶輸入一個簡單的字符串,這是我希望存在的......如果它是一個好方法。 – Rolando

+0

Rolando,您是否嘗試過使用查詢字符串查詢來執行查詢? http://www.elasticsearch.org/guide/reference/query-dsl/query-string-query/如果有效,那麼你可以在過濾器查詢中使用它來獲得相同的結果 – Phil