2012-06-02 10 views
5

Timezones: SonraElasticsearch ve ben değerlerdir gibi bir zaman alanına sahip bir dizine sahip

time: 2012-06-02T12:25:27+02:00 

aşağıdaki sorguyu çalıştırıyorum: 0 hit dönüyor

{ 
    "sort": { 
    "time": "desc" 
    }, 
    "query": { 
    "query_string": { 
     "query": "time:[2012-6-2T12:24:00Z TO 2012-6-2T12:26:00Z]", 
     "default_operator": "AND" 
    } 
    }, 
    "size": 30 
} 

ama eğer Sorgu dizesini 2 saat kaydırıyorum ve o zamandaki kayıtlarla eşleşiyor. Yani, bunun bir zaman dilimi problemi olduğundan eminim. Bulduğum dokümanları okuyarak "time_zone" yazabilirim: 2 sorgusunda, ama .... önceki sorguda nereye yerleştirilmeli? Birçok seçenek denedim ama işe yaramayacaktım.

cevap

6

Muhtemelen, bu sorgudan farklı olan histogram date fasetinde "time_zone" parametresini gördünüz. Query_string sorgusu bir time_zone parametresini kabul etmiyor. Burada basit çözüm Sorgununuzdaki istenilen zaman dilimine ile "Z" yerine olacağını düşünüyorum: Sorgunun dışında veya daha sorgu dizesi farklı bir kesiminde dilimini belirtmek için herhangi yeteneği var mıdır

{ 
    "sort": { 
    "time": "desc" 
    }, 
    "query": { 
    "query_string": { 
     "query": "time:[2012-6-2T12:24:00+02:00 TO 2012-6-2T12:26:00+02:00]", 
     "default_operator": "AND" 
    } 
    }, 
    "size": 30 
} 
+4

' zaman: '' kendini ara? Soruyorum çünkü 'time' alanına (örneğin, yyyyDDD'T'HHmmssZ', HHmmss.SSSZ' vb.) Karşı birçok olası tarih biçimini sorgulama yeteneğini korumak istiyorum, ancak sonra hepsi belirtildi +02: 00'da zaman dilimi içinde. –

İlgili konular