2010-04-06 14 views
5

के बजाय वाक्यांश पर ल्यूसीन फ़ज़ी मैच, मैं अपाचे ल्यूसीन का उपयोग करके वाक्यांश "ग्रैंड प्रिये" (जानबूझकर गलत वर्तनी) पर एक अस्पष्ट मैच करने की कोशिश कर रहा हूं। मेरी समस्या का एक हिस्सा यह है कि ~ ऑपरेटर केवल एक शब्द शब्दों पर अस्पष्ट मिलान करता है और वाक्यांशों के लिए निकटता मिलान के रूप में व्यवहार करता है।एकल शब्द

क्या लुसीन के साथ एक वाक्यांश पर एक अस्पष्ट मैच करने का कोई तरीका है?

उत्तर

5

Lucene 3.0 ComplexPhraseQueryParser कि फजी वाक्यांश क्वेरी का समर्थन करता है है। यह contrib पैकेज में है।

2

एक अस्पष्ट वाक्यांश के लिए कोई सीधा समर्थन नहीं है, लेकिन आप इसे स्पष्ट रूप से enumerating the fuzzy terms द्वारा अनुकरण कर सकते हैं और फिर उन्हें MultiPhraseQuery पर जोड़ सकते हैं। परिणामी क्वेरी देखने की तरह होगा:

<MultiPhraseQuery: "grand (prarie prairie)"> 
+0

+1। – Yaroslav

+2

जाने का तरीका क्या आप इस पर थोड़ा और विस्तार कर सकते हैं? मैं ल्यूसीन का उपयोग सीधे नहीं कर रहा हूं, बल्कि सोलर के माध्यम से। मुझे कार्रवाई में ल्यूसीन पढ़ने के लिए बस इतना ही अच्छा होना पड़ सकता है। मुझे यह समझने में कोई दिक्कत नहीं होगी कि कैसे दोनों एक साथ काम करते हैं और इसके साथ अधिक मौलिक स्तर पर सहज महसूस करते हैं। अभी के लिए, सोलर में, मैं कुछ ऐसा प्राप्त कर रहा हूं जो solr.PoneticFilterFactory विश्लेषक का उपयोग कर मेरे लिए पर्याप्त प्रभावी है। – Koobz

1

Google के माध्यम से इस पर आया और समाधानों को महसूस किया जहां मैं बाद में नहीं था। मेरे मामले में, समाधान बस सोलर एपीआई के खिलाफ खोज अनुक्रम दोहराना था। उदाहरण के लिए अगर मैं के लिए देख रहा था: "~ बिल्ली" title_t के लिए मैच "कुत्ते ~" शामिल करने के लिए और, मैं क्वेरी उत्पन्न करने के लिए कुछ मैनुअल कोड जोड़ के रूप में:

((title_t:dog~) and (title_t:cat~)) 

यह सिर्फ क्या इसके बाद के संस्करण क्वेरी दी गई हैं हो सकता है के बारे में, हालांकि लिंक मृत लगता है।

+0

यही मुझे चाहिए :) धन्यवाद – Oyeme