2012-06-15 6 views
7

मैं वर्तमान में अपाचे सोलर को अपने प्लेटफॉर्म में खोज रहा हूं और स्वत: पूर्णता के लिए सुगस्टर कार्यक्षमता का उपयोग कर रहा हूं। अगर मैं के लिए खोजवर्तनी सुझावों को वापस करने के लिए सोलर सग्गेस्टर को कैसे प्राप्त करें

shirt 
shirts 

हालांकि, निम्न अन्य लोगों के अलावा

shi 

Suggester मॉड्यूल रिटर्न: हालांकि, Suggester मॉड्यूल तो उदाहरण के लिए अगर मैं के लिए खोज वर्तनी सुझाव वापस नहीं करता है और साथ ही, :

shrt 

कोई सुझाव नहीं लौटाया गया है। मैं क्या जानना चाहता हूं:

ए) क्या यह सॉगेस्टर मॉड्यूल की गलत कॉन्फ़िगरेशन है जिसके परिणामस्वरूप यह हुआ है? बी) क्या Suggester मॉड्यूल इस तरह से बनाया गया है कि यह वर्तनी सुझाव वापस नहीं करता है? सी) वर्तनी सुधार सुझावों के लिए दूसरा अनुरोध करने के बिना भी वर्तनी सुझावों को वापस करने के लिए मुझे Suggester मॉड्यूल कैसे प्राप्त किया जा सकता है?

मैंने सौर दस्तावेज पढ़ा है लेकिन इसके साथ एक हेडवे नहीं लग रहा है।

उत्तर

7

आप http://wiki.apache.org/solr/SpellCheckComponent

कार्य निम्न चरण शामिल हैं पर वर्णन किए गए वर्तनी जाँच घटक कॉन्फ़िगर करने के वैकल्पिक वर्तनी विकल्प उत्पन्न करने के लिए की जरूरत है; - वर्तनी सुझाव के लिए schema.xml अपडेट करें, जैसे कि आप फ़ील्ड को नए फ़ील्ड में कॉपी करना चाहें, उदाहरण के लिए 'वर्तनी' कहें

<copyField source="id" dest="spelling" /> 
<copyField source="name" dest="spelling" /> 
<copyField source="description" dest="spelling" /> 
<copyField source="longdescription" dest="spelling" /> 
<copyField source="category" dest="spelling" /> 
<copyField source="source" dest="spelling" /> 
<copyField source="merchant" dest="spelling" /> 
<copyField source="contact" dest="spelling" /> 
  • अद्यतन solrconfig.xml

<requestHandler name="/select" class="solr.SearchHandler"> <lst name="defaults"> <str name="echoParams">explicit</str> <int name="rows">10</int> <str name="df">defaultSearchField</str> <!-- spell check component configuration --> <str name="spellcheck">true</str> <str name="spellcheck.count">5</str> <str name="spellcheck.collate">true</str> <str name="spellcheck.maxCollationTries">5</str> </lst> <!-- add spell check processing after the default search component as configured above completed it's task --> <arr name="last-components"> <str>spellcheck</str> </arr> </requestHandler>

<searchComponent name="spellcheck" class="solr.SpellCheckComponent"> <lst name="spellchecker"> <!-- decide between dictionary based vs index based spelling suggestion, in most cases it makes sense to use index based spell checker as it only generates terms which are actually present in your search corpus --> <str name="classname">solr.IndexBasedSpellChecker</str> <!-- field to use --> <str name="field">spelling</str> <!-- buildOnCommit|buildOnOptimize --> <str name="buildOnCommit">true</str> <!-- $solr.solr.home/data/spellchecker--> <str name="spellcheckIndexDir">./spellchecker</str> <str name="accuracy">0.7</str> <float name="thresholdTokenFrequency">.0001</float> </lst> </searchComponent>

  • पुन सूचकांक कोष

  • उदाहरण के लिए टेस्ट सुझाव

    http: //:/Solr/select/q = coachin

    response { "responseHeader":{ "status":0, "QTime":12, "params":{ "indent":"true", "q":"coachin"}}, "response":{"numFound":0,"start":0,"docs":[] }, "spellcheck":{ "suggestions":[ "coachin",{ "numFound":1, "startOffset":0, "endOffset":7, "suggestion":["cochin"]}]}}

आशा है कि मदद करता है।

+0

आपकी प्रतिक्रिया के लिए धन्यवाद। मैंने पहले वर्तनी जांच घटक का उपयोग किया है, हालांकि यदि खोज क्वेरी के लिए परिणाम मिलते हैं, तो वर्तनी जांच घटक कोई सुझाव नहीं देता है, इसलिए मैंने Suggester घटक का उपयोग करने का फैसला क्यों किया। उदाहरण के लिए, यदि मेरे पास खोज शब्द "शीट" के परिणाम हैं, तो मुझे अभी भी एक सुझाव "शीटिंग" देखने की उम्मीद है यदि मेरे वर्तनी क्षेत्र में वह संभावना है। – newbie

+0

हाय डुड .. @ नितिन त्रिपाठी मेरे लिए यहां ठीक काम करने के लिए, लेकिन मेरा सवाल है ... कृपया इस http://stackoverflow.com/questions/22196793/how-get-suggestions-from-solr पर एक नज़र डालें -server-in-a-php-variable – Naresh

+0

मेरे लिए काम नहीं किया –

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