2016-11-02 3 views
0

Ich möchte Sammlung mit Auto Vorschlag in Solr erstellen, versuchte ich für einzelnes Wort, es funktioniert gut, aber bin auf der Suche nach Phrasen zum Beispiel, wenn wir "Barack" eingeben, sollte kommen "Barack", "Barack Obama", "Barack Obama Präsident von USA ".Wie konfiguriere ich solr (4.10) für automatische Vorschläge für mehrere Wörter?

Ich habe 6 Felder, aber ich möchte einen Vorschlag für nur ein Feld (d. H. Content) geben, wie schema.xml und solr config.xml gemäß diesen Feldern zu konfigurieren. Ich habe Tonnen von Beispielen versucht, aber das hat nicht für mich gearbeitet! Haben Sie eine einfache Lösung dafür? Jede Hilfe wäre zu schätzen wissen! Vielen Dank im Voraus.

Dank Amit für die Antwort, habe ich versucht, dass auch einige enttäuschte Was bekomme ich war auf der Suche nach meine schema.xml ist wie folgt ich den Vorschlag auf meinem Feld Inhalt ist und meine solr Config unten wollen!

<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> 
    <field name="Content" type="suggest_phrase" indexed="true" stored="true" /> 
    <field name="Lang" type="string" indexed="true" stored="true" /> 
    <field name="PubDate" type="tdate" indexed="true" stored="true" /> 
    <field name="Section" type="string" indexed="true" stored="true" /> 
    <field name="PaperName" type="string" indexed="true" stored="true" /> 
    <field name="Page_No" type="tint" indexed="true" stored="true" /> 

    <fieldType name="suggest_phrase" class="solr.TextField" positionIncrementGap="100" multiValued="true"> 
    <analyzer> 
     <tokenizer class="solr.KeywordTokenizerFactory" /> 
     <filter class="solr.LowerCaseFilterFactory" /> 
    </analyzer> 


    <!-- search content --> 
    <searchComponent name="suggest_phrase" class="solr.SpellCheckComponent"> 
    <lst name="spellchecker"> 
     <str name="name">suggest_phrase</str> 
     <str name="classname">org.apache.solr.spelling.suggest.Suggester</str> 
     <str name="lookupImpl">org.apache.solr.spelling.suggest.fst.FSTLookup</str> 
     <str name="field">suggest_phrase</str> 
     <str name="buildOnCommit">true</str> 
    </lst> 
</searchComponent> 
<requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/suggest_phrase"> 
    <lst name="defaults"> 
     <str name="spellcheck">true</str> 
     <str name="spellcheck.dictionary">suggest_phrase</str> 
     <str name="spellcheck.onlyMorePopular">true</str> 
     <str name="spellcheck.count">10</str> 
     <str name="spellcheck.collate">false</str> 
    </lst> 
    <arr name="components"> 
     <str>suggest_phrase</str> 
    </arr> 
</requestHandler> 

Antwort

0

Sie könnten die Schindel auf dem Feld verwenden, das Sie für die automatische Vorschlag verwenden.

+0

Hallo Aman, wie du schon sagtest habe ich es mit der Shinglefilterfabrik versucht, habe aber nicht bekommen was ich gesucht habe! eine andere Lösung? –

Verwandte Themen