2012-01-31 8 views
8

मैं स्थानीयहोस्ट पर स्थापित सोलर का उपयोग कर रहा हूं: 8983 मैं मूल रूप से बॉक्स उदाहरण से बाहर उपयोग कर रहा हूं। मैंने एक दस्तावेज़ "कार" नाम से एक दस्तावेज़ दर्ज किया है, और दूसरा नाम "कार" है।दस्तावेजों को खोजने के लिए एसओएलआर कॉन्फ़िगर करें यदि दस्तावेज़ में बहुवचन का उपयोग किया जाता है, और खोज पाठ में एकवचन?

अगर मैं का दौरा या तो:

http://localhost:8983/solr/select?q=Car 

या

http://localhost:8983/solr/select?q=Cars 

मैं दोनों दस्तावेजों प्राप्त करने की उम्मीद होगी। फिलहाल, मैं नहीं करता।

"Schema.xml" के क्षेत्र टैग में, "नाम" के लिए प्रविष्टि है:

"text_general" निम्न "विश्लेषक" (stemmers के बिना) है:

<analyzer type="index"> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" /> 
    <filter class="solr.LowerCaseFilterFactory"/> 
</analyzer> 
<analyzer type="query"> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" /> 
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
</analyzer> 

मैंने प्रत्येक विश्लेषक को एक स्टेमर जोड़ने की कोशिश की। मैंने कोशिश की:

<filter class="solr.PorterStemFilterFactory"/> 
<filter class="solr.KStemFilterFactory"/> 
<filter class="solr.EnglishMinimalStemFilterFactory"/> 

ऐसा करने से यह इस तरह के "कार" के लिए खोज "कार" पाएंगे कि बनाता है, लेकिन मैं "कार" कभी नहीं मिल सकता है।

क्या "कार" ढूंढना संभव है?

किसी भी मदद की सराहना की जाएगी। धन्यवाद।

उत्तर

16

यह संभव है, बस अंत (LowerCaseFilterFactory के बाद) पर कुली फ़िल्टर जोड़ें:

<filter class="solr.SnowballPorterFilterFactory" language="English" /> 

और पढ़ें:

  1. Snowball docs with example of use in analyser
  2. Solr LanguageAnalysis
  3. The English (Porter2) stemming algorithm

यदि कोई विशेष आवश्यकता नहीं है, तो मैं विश्लेषक को इंडेक्स और क्वेरी समय में विभाजित नहीं करूंगा। आपका प्रश्न समय विश्लेषक दोनों मामलों में इसका उपयोग करने के लिए पूरी तरह से अच्छा दिखता है।

+0

अरे, काम करने के लिए लगता है कि का ध्यान रखा। और अब, तो कल मैंने कोशिश की स्टेमर्स करते हैं। मैं सोलर एप्लिकेशन (टॉमकैट पर चल रहा था) को पुनरारंभ कर रहा था, और ऐसा कुछ प्रभाव पड़ा (यानी मुझे "कारें" कभी नहीं मिल सका, इससे कोई फर्क नहीं पड़ता कि मैंने क्या किया), लेकिन मुझे लगता है कि कुछ कैश किया जा रहा था। मैं विश्लेषक के विभाजन के बारे में आपकी सलाह लेगा। धन्यवाद। – zod

+0

@ फूक्सी आपका पहला लिंक मर चुका है और तीसरा – AntonioCS

+0

@ एंटोनियोसीएस मैंने पहले लिंक को अपडेट किया है, दूसरा और चीज मेरे लिए काम करती है – Fuxi

1

मैंने पाया कि text_general से बदल रहा है shema.xml क्षेत्रों में text_en को यह अधिकता समस्या

+1

के लिए धन्यवाद सोलर में अनुकरणीय स्कीमा के लिए? संस्करणों में मैंने जांच की है कि यह सटीक होने के लिए स्टेमिंग, पोर्टरस्टेमफिल्टर फैक्टरी का भी उपयोग कर रहा है – Fuxi

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