हम किसी उपयोगकर्ता को दिए गए डेटा के लिए एक निःशुल्क टेक्स्ट खोज बॉक्स विकसित करने के लिए लुसीन का उपयोग कर रहे हैं, जैसे ईमेल इनबॉक्स के मामले में। हम बॉक्स को तारीखों को संभालने की अनुमति देना चाहते हैं, उदाहरण के लिए 5/1/2011। चीजों को आसान बनाने के लिए, हम सिर्फ दो तारीख प्रारूपों के विशेषता के वर्तमान संस्करण को सीमित कर रहे:लुसीन मुक्त टेक्स्ट खोज क्वेरी में दिनांक का पता कैसे लगाएं?
mm/dd/yy
mm/dd/yyyy
हमारे प्रोटोटाइप के लिए हम क्वेरी विश्लेषण प्रक्रिया काट दिया-प्रक्रिया पूर्व क्वेरी स्ट्रिंग इन दोनों को देखने के लिए प्रयास करने के लिए तारीख पैटर्न यह लगभग 2 साल पहले था, और हम लुसीन 2.4 पर थे। मैं यह देखने के लिए उत्सुक हूं कि डेटफॉर्मेट को स्वीकार करने के लिए ल्यूसीन आउट ऑफ़ द बॉक्स में कोई उपकरण हैं और किसी भी पहचान की गई तिथियों के साथ टोकनस्ट्रीम लौटाएं। Lucene 2.9 के लिए javadocs के माध्यम से देख रहे हैं, मैं कक्षा पाया:
org.apache.lucene.analysis.sinks.DateRecognizerSinkFilter
जो मैं क्या जरूरत है ऐसा करने के लिए लगता है, लेकिन यह एक SinkFilter, एक अवधारणा जो Lucene विकी में प्रलेखित किया जाना प्रतीत नहीं होता लागू करता है। क्या किसी ने पहले इस फ़िल्टर का उपयोग किया है, और यदि हां, तो इसका उपयोग करने का सबसे प्रभावी तरीका क्या है?
उत्तर के लिए धन्यवाद! मैं आपका समाधान एक कोशिश दूंगा और अपने परिणाम पोस्ट करूंगा। –
ग्रेट! आप इसे एक नियमित इन-लाइन टोकनेज़र के रूप में भी कार्यान्वित कर सकते हैं जो मूल स्ट्रिंग और उसी स्थिति में दिनांक को उत्सर्जित करता है। इस तरह, यदि, उदाहरण के लिए, आपके दिनांक प्रारूप में महीने या दिनांक के नाम थे, तो आप अभी भी उन पर सीधे खोज सकते हैं। –