2012-01-17 18 views
5

के साथ सोलर क्वेरी मैं सोलर के साथ काम कर रहा हूं और मैं जानना चाहता हूं कि क्वेरी में एक LIKE क्लॉज होना संभव है या नहीं। उदाहरण के लिए, मैं शीर्षक में "न्यूयॉर्क" के साथ सभी संगठनों को जानना चाहता हूं। एसक्यूएल में, यह नाम LIKE 'न्यूयॉर्क%' जैसा लिखा जाएगा।LIKE क्लॉज

मेरा प्रश्न - आप Solr में एक LIKE क्वेरी कैसे लिखते हैं?

मैं सोलरनेट लाइब्रेरी का उपयोग कर रहा हूं, अगर इससे कोई फर्क पड़ता है।

+0

आप http://stackoverflow.com/questions/3088401/substring-matches-within-solr – naresh

उत्तर

6

आप बस "न्यूयॉर्क" खोजते हैं, लेकिन पहले आपको अपने क्षेत्र के विश्लेषक को सही तरीके से कॉन्फ़िगर करने की आवश्यकता है। उदाहरण के लिए आप default Solr schema में परिभाषित अनुसार text_general जैसे फील्ड प्रकार से शुरू करना चाहेंगे। यह फ़ील्ड प्रकार व्हाइटस्पेस और अन्य सामान्य शब्द विभाजकों पर टोकननाइज करेगा, फिर स्टॉपवर्ड का एक फ़िल्टर लागू करें, फिर खोज केस-असंवेदनशील बनाने के लिए शर्तों को कम करें।

analyzers in the Solr wiki के बारे में अधिक जानकारी।

+0

देख सकते हैं कि मेरे पास डिफ़ॉल्ट प्रोजेक्ट 1 schema.xml से मेरी परियोजना में पेस्ट text_general कॉपी है लेकिन खोज काम नहीं कर सका। मैं स्ट्रिंग में "गर्म" खोजने की कोशिश कर रहा हूं "क्या यह दुबई में गर्म है?" –

+0

अगर मैं इसे सोलर व्यवस्थापक में विश्लेषण करता हूं, तो यह वहां काम करता है लेकिन अगर मैं व्यवस्थापक में खोज करता हूं> क्वेरी यह नहीं था –

6

यदि आप सोलर 3.1 या नए का उपयोग कर रहे हैं, तो Extended DisMax Query Parser पर एक नज़र डालें, जो वाइल्डकार्ड प्रश्नों का समर्थन करता है। आप अनुरोध हैंडलर कॉन्फ़िगरेशन में <str name="defType">edismax</str> का उपयोग करके इसे सक्षम कर सकते हैं।

फिर आप title:New York* जैसी क्वेरी का उपयोग कर क्लॉज के साथ एक क्वेरी के समान व्यवहार के साथ उपयोग कर सकते हैं। मेरे उत्तर और स्वीकृत व्यक्ति के बीच मुख्य अंतर यह है कि आप वाइल्डकार्ड का उपयोग करके शब्दों के टुकड़े की खोज भी कर सकते हैं। उदाहरण के लिए New Yorkers इस मामले में मेल खाएगा। दुर्भाग्य से यदि आप LowerCaseFilterFactory का उपयोग कर रहे हैं तो भी आपको केस-संवेदनशील क्वेरी के साथ समस्या हो सकती है। अधिक जानने के लिए here देखें। SOLR-2438 समस्या हल हो जाने के बाद से अधिकांश समस्याओं को हलर 3.6 रिलीज के साथ तय किया जाएगा।