2015-06-18 10 views
5

मैं Solr बनाने के लिए सुझाव पर सटीक मिलान लौट कोशिश कर रहा हूँ, उदाहरण के लिए:Solr का सुझाव सटीक मिलान

  • spellcheck.q = तोता वापसी करता परिणामों में कुल लेकिन
  • spellcheck.q = परिणाम परिणाम में कुल वापस नहीं करता है।

मैं सुझाव के लिए इस क्षेत्र का उपयोग कर रहा:

<fieldType name="textSpellShingle" class="solr.TextField" positionIncrementGap="100"> 
    <analyzer> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    <filter class="solr.ShingleFilterFactory" maxShingleSize="3" outputUnigrams="true"/> 
    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/> 
    </analyzer> 
</fieldType> 

किसी भी विचार कैसे Solr सटीक रिटर्न का सुझाव पर से मेल खाता बनाने के लिए ??

+0

के लिए अनुक्रमण और quering ही है इस्तेमाल किया विश्लेषक है? –

+0

हां एक ही विश्लेषक। – user3687679

+0

"StandardTokenizerFactory" को "KeywordTokenizerFactory" के साथ बदलने का प्रयास करें –

उत्तर

0

आप इस

<fieldType name="textSpellShingle" class="solr.TextField" positionIncrementGap="100"> 
    <analyzer> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="50" side="front"/> 
    <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="50" side="back"/> 
    </analyzer> 
</fieldType> 
+0

बिल्कुल सुझाव नहीं दे रहा है! – user3687679

+0

और मेरी आखिरी कोशिश यहाँ है :) –

+0

धन्यवाद :)। लेकिन काम नहीं कर रहा है। – user3687679

0

साथ कोशिश कर सकते हैं के रूप में इस विकि पेज में mentionned: https://cwiki.apache.org/confluence/display/solr/Suggester

To be used as the basis for a suggestion, the field must be stored.

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

+0

मेरा क्षेत्र संग्रहीत है। – user3687679

+0

आपको ल्यूक (https://code.google.com/p/luke/) के साथ अपना इंडेक्स खोलने का प्रयास करना चाहिए। संग्रहीत फ़ील्ड को देखें और सुनिश्चित करें कि यह सही ढंग से दिखाई देता है। मुझे बताएं कि यह कैसा दिखता है। –

1

आप स्पेल चेकर घटक का उपयोग कर रहे हैं, जैसा कि नाम इंगित करता है, वर्तनी जांच के लिए है। यह सुझाव देता है कि प्रविष्टि को कैसे लिखा जाना चाहिए। जब शब्द सही वर्तनी होता है (जो एक सटीक मिलान के बराबर होता है) यह कुछ भी नहीं देता है, यही कारण है कि आप सूची में शब्द नहीं देखते हैं।

सोलर 4.7 के बाद से एक नया सुझाव घटक जोड़ा गया है, जिसे वास्तव में ऑटोस्यूशन के लिए लागू किया गया है और आपके द्वारा अपेक्षित परिणामों को उत्पन्न करता है।

-1

आपकी समस्या आई क्योंकि आपने वर्तनी जांच घटक के आधार पर पुराने सुझाव घटक का उपयोग किया था (मुझे लगता है कि आपने 5 से पहले सोलर का संस्करण उपयोग किया था)।

पुरानी वर्तनी जांच/सुझाव के साथ, यदि शब्द मिलान करता है तो यह प्रतिक्रिया में वापस नहीं आता है!

solr.suggestComponent (यदि आपके संस्करण में मौजूद है) के साथ परीक्षण करें।

देखें: https://cwiki.apache.org/confluence/display/solr/Suggester

+0

अगर आप नए सुझाव का इस्तेमाल करते हैं तो अपने अनुरोध में suggest.q द्वारा spellcheck.q को बदलना न भूलें – Nono

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