2011-03-01 11 views
5

यदि मैंने सोलर.डेटफिल्ड के प्रकार को परिभाषित किया था, तो मैंने पढ़ा है कि एसओएलआर हमेशा जीएमटी में इसे बचाता है। लेकिन मुझे लगता है कि एसओएलआर सिर्फ उस समय को लेता है जो मेरे डीबी में परिभाषित किया गया है और रूपांतरण के बिना इसे लिखता है।सोलर यूटीसी प्रारूप में समय नहीं बचा रहा

क्या इसके लिए कोई विन्यास पैरामीटर है?

उत्तर

0

जहां तक ​​मुझे पता है कि सोलर स्टोर्स ठीक जैसा कि आप इसे खिलाते हैं, किसी भी टाइमज़ोन जानकारी को अनदेखा करते हैं। यूटीसी से कनवर्ट करने के लिए आप पर निर्भर है। Here's a forum thread that confirms this

उदाहरण के लिए, here are some conversion routines for PHP

+0

मेरे पास एक मशीन है जहां सोलर स्वचालित रूप से यह रूपांतरण करता है लेकिन यह तब नहीं हो रहा है जब एक ही कोड दूसरी मशीन पर चलती है जहां मशीन स्वयं जीएमटी पर सेट होती है। http://lucene.472066.n3.nabble.com/SOLR-1-4-1- इंडेक्सिंग-डेटफिल्ड- टाइम- ज़ोन- प्रोबलेम-td1966118.html इसमें से कुछ बताते हैं। – Prasanna

+0

@Mauricio Scheffer मुझे यकीन नहीं है, अगर मैं आपको सही समझता हूं। इसका मतलब यह है कि, सोलर यूटीसी के रूप में सभी तिथियों का व्याख्या करता है। तो यह केवल यूटीसी तिथियों के साथ हलर फ़ीड करने के लिए डेवलपर पर निर्भर है? इसका मतलब है: मुझे सोलर भेजने से पहले तिथियों को परिवर्तित करना होगा और '2012-12-13T14: 42: 16.437Z + 01: 00' ('+01: 00' के साथ) काम नहीं करता है ?! क्या आपको पता है, अगर सोलर 4 में कोई बदलाव है? –

0

ठीक है मुझे पता चला है कि जिस तारीख को मैं एसओएलआर को दे रहा हूं उसमें टाइमज़ोन सेट नहीं है और इस तरह के मामले में यह मशीन पर सेट किए गए समय के लिए डिफ़ॉल्ट है।

5

जहाँ तक मुझे पता के रूप में केवल DateFormat SOLR स्वीकार करेगा:

YYYY-MM-DDThh: mm: SS.000Z (! जेड महत्वपूर्ण है)

+4

"ज़ेड" "ज़ुलू टाइम" या "शून्य समय" से है, जो जीएमटी = 0 (या यूटीसी = 0) – Topera

+1

धन्यवाद, आपको यह जानने का मौका है कि क्यों? दस्तावेज़ीकरण में वे कहते हैं कि वे आईएसओ प्रारूप में तारीख स्वीकार करते हैं, लेकिन मुझे कोई संदर्भ नहीं मिला जिसमें हमें जीएमटी के प्रतिनिधित्व को मजबूर करना चाहिए (जेड के साथ समाप्त होना) –

0
मेरे मामले में

, हमारे सर्वर है गैर यूटीसी समय पर सेट करें। जब solr डेटाबेस से एक पंक्ति पुनर्प्राप्त करता है, तो यह स्वचालित रूप से उस समय यूटीसी में परिवर्तित हो जाता है।

समस्या यह है कि डीबी में संग्रहीत डेटा पहले ही यूटीसी में है। लेकिन जब सोलर उस डेटा को खींचता है, तो यह यूटीसी में एक और रूपांतरण करता है ....

हमारे उद्देश्यों के लिए सही तरीका है (मेरी राय में) सर्वर को यूटीसी टाइमज़ोन पर सेट करना है ... लेकिन हां, वह होगा गड़बड़ पूरे सर्वर खेत ... मैं ओप नहीं करता, और मुझे ramifications पता नहीं है। किसी भी मामले में, मैं अपने कोड में इसे हल करने का एक तरीका ढूंढने की कोशिश कर रहा हूं।

1

मॉरीसिओ शेफ़र के अनुसार, एसओएलआर को टाइमज़ोन की परवाह नहीं है, जो निराशाजनक है।

लेकिन! आप एक गैर UTC समय और आप समय क्षेत्र पता है, तो जब आप इंडेक्स मान, आप इसे यूटीसी के लिए तेज़ी से अपने SOLR अद्यतन में परिवर्तित कर सकते हैं:

"2013-02-07T11: 21: 51Z + 8HOUR "

यह थोड़ा अजीब लग रहा है, लेकिन एक पीएसटी टाइमस्टैम्प में" Z + 8HOUR "जोड़ना इसे यूटीसी में सही मान में परिवर्तित कर देगा। सामान्य रूप से, आप टाइमस्टैम्प को अनुक्रमणित करते समय DateMath संशोधक का उपयोग कर सकते हैं।

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