2012-09-17 5 views
5

मैं ravendb क्वेरी करने के लिए http api का उपयोग कर रहा हूं (इसलिए LINQ क्वेरी मेरे प्रश्न का समाधान नहीं है)। मेरे उत्पाद दस्तावेज़ इस तरह दिखता है:आप लुवेन का उपयोग कर तिथियों वाली रैवेन्डब इंडेक्स से कैसे पूछते हैं?

{ 
    "editDate": "2012-08-29T15:00:00.846Z" 
} 

और मैं सूचकांक:

from doc in docs.Product 
select new { doc.editDate } 

मैं एक निश्चित तारीख और समय से पहले सभी दस्तावेजों क्वेरी करना चाहते हैं। मैं तिथि इस वाक्य रचना का उपयोग करने पर क्वेरी कर सकते हैं:

editDate: [NULL TO 2012-09-17] 

लेकिन मैं समझ नहीं कैसे समय घटक क्वेरी करने के लिए और साथ ही। कोई विचार?

उत्तर

5

आपको लगता है कि का उपयोग कर क्वेरी कर सकते हैं:

editDate: [NULL TO 2012-09-17T15:00:00.846Z] 

आपको लगता है कि का एक हिस्सा के लिए देखभाल करते हैं, तो का उपयोग करें:

editDate: [NULL TO 2012-09-17T15:00] 

नोट आप हो सकता है क्वेरी के कुछ हिस्सों से बचने के लिए है, तो जैसे:

editDate: [NULL TO 2012\-09\-17T15\:00] 

यह आप भी काम करने के लिए यह सुनिश्चित करने की आवश्यकता है कि क्षेत्र का विश्लेषण किया जाए। रावेन स्टूडियो में - फ़ील्ड जोड़ें -> संपादित करेंडेट करें, और विश्लेषण के लिए इंडेक्सिंग सेट करें।

+0

हाँ इसे बचने की जरूरत है, हालांकि यह अभी भी मेरे लिए काम नहीं करता है। यदि दिन अधिक है (2012-09-18T15: 00) तो डॉक्टर मिलेगा, हालांकि यदि यह उसी दिन है लेकिन बाद में दिन (2012-09-17T15: 30) तो दस्तावेज़ नहीं मिला है। –

+0

इसे समझ लिया - फ़ील्ड का विश्लेषण करने की आवश्यकता है, आप http api का उपयोग करके इसे कैसे सेट करते हैं? (इसे दस्तावेज़ों में नहीं मिला) –

+0

यह बुरी सलाह है। तारीख फ़ील्ड का कभी विश्लेषण नहीं किया जाना चाहिए। –

-1

इस समस्या के आसपास काम करने का एक तरीका मूल्य को एक तिथि के रूप में नहीं बल्कि यूनिक्स युग के बाद सेकंड की संख्या को स्टोर करना है।

यह परिणाम उस संख्या में होता है जिसे आप आसानी से तुलना कर सकते हैं।

मैं जावास्क्रिप्ट और पल js पुस्तकालय का उपयोग कर रहा:

{ 
    "editDate": "2012-08-29T15:00:00.846Z", 
    "editDateUnix": moment("2012-08-29T15:00:00.846Z").unix() 
} 

कोई मेरी सूचकांक:

from doc in docs.Product 
select new { doc.editDate, doc.editDateUnix } 

और मेरे Lucene क्वेरी:

"editDate: [NULL TO "+moment("2012-09-17").unix()+"]" 
+0

क्या इससे आपकी समस्या हल होती है या आप और उत्तर ढूंढ रहे हैं? – MattDavey

+0

यह हल करता है, हालांकि अगर ऐसा करने का कोई और तरीका है तो मुझे यह जानना अच्छा लगेगा कि यह क्या है! –

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