मैं खोज क्षेत्र के लिए स्वत: सुझाव ड्रॉपडाउन बनाने के लिए सोलर का उपयोग करना चाहता हूं लेकिन वाक्यांश के लिए सुझाव प्राप्त करने का प्रयास करते समय मैं अटक गया हूं। जब मैं "कुत्ते टी" की खोज करता हूं, तो मैं एक परिणाम सेट प्राप्त करना चाहता हूं जिसमें "कुत्ते के इलाज", "कुत्ते की चाल", "कुत्ते टैग" जैसे वाक्यांश शामिल हैं ... लेकिन इसके बजाय मुझे 2 परिणाम सेट मिलते हैं, एक "कुत्ते" के लिए "(जैसे कि" टी "(जैसे कि" पेड़ "" समय "...) कुत्तों" "कुत्ता हड्डी" "कुत्ता" और एक अन्य के लिए ...) "वाक्यांश के लिए solr autosuggest परिणाम प्राप्त करें
मेरे क्वेरी यूआरएल है:
http://localhost:8985/solr/mycollection/suggest?q=%22dog%20t%22&wt=json
और मेरे अनुरोध हैंडलर के रूप में solrconfig में परिभाषित किया गया है ...
<searchComponent class="solr.SpellCheckComponent" name="suggest">
<lst name="spellchecker">
<str name="name">suggest</str>
<str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
<str name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookup</str>
<str name="field">suggest</str> <!-- the indexed field to derive suggestions from -->
<float name="threshold">0.0001</float>
<str name="buildOnCommit">true</str>
</lst>
<str name="queryAnalyzerFieldType">textSuggest</str>
</searchComponent>
<requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/suggest">
<lst name="defaults">
<str name="spellcheck">true</str>
<str name="spellcheck.dictionary">suggest</str>
<str name="spellcheck.onlyMorePopular">true</str>
<str name="spellcheck.count">10</str>
</lst>
<arr name="components">
<str>suggest</str>
</arr>
</requestHandler>
"का सुझाव 'की fieldtype
0 के रूप में स्कीमा में परिभाषित किया गया है<fieldType name="textSuggest" class="solr.TextField" positionIncrementGap="100" >
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ShingleFilterFactory" maxShingleSize="3" outputUnigrams="true" />
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1"
generateNumberParts="1"
catenateWords="0"
catenateNumbers="0"
catenateAll="0"
preserveOriginal="1" splitOnCaseChange="1"
/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>