2012-06-02 20 views
5

मैं एक समय क्षेत्र जिनके मान की तरह हैं के साथ एक सूचकांक है:Elasticsearch और समय क्षेत्र

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

तो मैं निम्न क्वेरी चल रहा हूँ:

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

0 हिट लौटा रहा है यही कारण है कि है, लेकिन अगर मैं क्वेरी स्ट्रिंग को 2 घंटे तक बदलता हूं, फिर उस समय के रिकॉर्ड के साथ मेल खाता है। तो, मुझे पूरा यकीन है कि यह एक समय क्षेत्र की समस्या है। मैंने पाया दस्तावेज़ों को पढ़ना मैं क्वेरी में "time_zone" डाल सकता हूं: लेकिन .... पिछली क्वेरी में इसे कहां रखा जाना चाहिए? मैंने कई विकल्पों की कोशिश की लेकिन इसे काम नहीं कर सका।

उत्तर

6

शायद, आपने हिस्टोग्राम दिनांक पहलू में "time_zone" पैरामीटर देखा है, जो इस क्वेरी से अलग है। Query_string क्वेरी टाइम_ज़ोन पैरामीटर स्वीकार नहीं करती है। मुझे लगता है कि यहाँ सबसे सरल समाधान अपने प्रश्न में वांछित समय क्षेत्र के साथ "Z" की जगह किया जाएगा:

{ 
    "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

वहाँ क्वेरी के बाहर या से क्वेरी स्ट्रिंग का एक अलग हिस्सा में समय क्षेत्र निर्दिष्ट करने के लिए किसी भी क्षमता है ' समय: 'खुद को खोजो? मैं पूछता हूं क्योंकि मैं 'टाइम' फ़ील्ड (उदाहरण के लिए, 'yyyyDDD'T'HHmmssZ',' HHmmss.SSSZ', आदि) के खिलाफ कई संभावित दिनांक स्वरूपों में से किसी से पूछताछ करने की क्षमता बनाए रखना चाहता हूं, लेकिन फिर उन्हें सभी निर्दिष्ट करें '00: 00' टाइमज़ोन में। –

संबंधित मुद्दे