2017-04-21 3 views
0

Ich habe ein nerviges Problem mit der Rechtschreibprüfung von solr 6.5.0. Wenn ich eine Abfrage über den Rechtschreibanforderungshandler/spell ausführen lasse, funktioniert die Abfrage wie erwartet und ich bekomme eine vorgeschlagene Schreibweise für die falschen Wörter.SOLR Rechtschreibprüfung gibt keine Ergebnisse zurück

{ 
    "responseHeader":{ 
    "status":0, 
    "QTime":42}, 
    "response":{"numFound":0,"start":0,"docs":[] 
    }, 
    "spellcheck":{ 
    "suggestions":{ 
     "injary":{ 
     "numFound":3, 
     "startOffset":0, 
     "endOffset":6, 
     "origFreq":0, 
     "suggestion":[{ 
      "word":"injury", 
      "freq":121}, 
      { 
      "word":"inward", 
      "freq":3}, 
      { 
      "word":"injure", 
      "freq":1}]}}, 
    "correctlySpelled":false, 
    "collations":{ 
     "collation":{ 
     "collationQuery":"injury", 
     "hits":121, 
     "misspellingsAndCorrections":[ 
      "injary","injury"]}, 
     "collation":{ 
     "collationQuery":"inward", 
     "hits":3, 
     "misspellingsAndCorrections":[ 
      "injary","inward"]}, 
     "collation":{ 
     "collationQuery":"injure", 
     "hits":1, 
     "misspellingsAndCorrections":[ 
      "injary","injure"]}}}} 

Aber wenn ich eine Abfrage über den Standard-Request-Handler ausführen,/wählen, bekomme ich keine Vorschläge.

{ 
    "responseHeader":{ 
    "status":0, 
    "QTime":0, 
    "params":{ 
     "q":"injary", 
     "indent":"on", 
     "spellcheck":"on", 
     "wt":"json", 
     "_":"1492780436450"}}, 
    "response":{"numFound":0,"start":0,"docs":[] 
    }} 

Jede Hilfe würde sehr geschätzt werden.

ich die solrconfig.xml modifiziert, um die zwei Request-Handler in Einklang zu bringen, wie folgt, der Rest ist Standard:

 <lst name="spellchecker"> 
     <str name="name">default</str> 
     <str name="field">content</str> 
     <str name="classname">solr.DirectSolrSpellChecker</str> 
     <str name="distanceMeasure">internal</str> 
     <float name="accuracy">0.5</float> 
     <int name="maxEdits">2</int> 
     <int name="minPrefix">1</int> 
     <int name="maxInspections">5</int> 
     <int name="minQueryLength">4</int> 
     <float name="maxQueryFrequency">0.01</float> 
     <float name="thresholdTokenFrequency">.0001</float> 
     </lst> 

    <requestHandler name="/spell" class="solr.SearchHandler" startup="lazy"> 
    <lst name="defaults"> 
     <!-- Solr will use suggestions from both the 'default' spellchecker 
      and from the 'wordbreak' spellchecker and combine them. 
      collations (re-written queries) can include a combination of 
      corrections from both spellcheckers --> 
     <str name="spellcheck.dictionary">default</str> 
     <str name="spellcheck">on</str> 
     <str name="spellcheck.extendedResults">true</str> 
     <str name="spellcheck.count">10</str> 
     <str name="spellcheck.alternativeTermCount">5</str> 
     <str name="spellcheck.maxResultsForSuggest">5</str> 
     <str name="spellcheck.collate">true</str> 
     <str name="spellcheck.collateExtendedResults">true</str> 
     <str name="spellcheck.maxCollationTries">10</str> 
     <str name="spellcheck.maxCollations">5</str> 
     <str name="wt">json</str> 
    </lst> 
    <arr name="last-components"> 
     <str>spellcheck</str> 
    </arr> 
    </requestHandler> 

<requestHandler name="/select" class="solr.SearchHandler"> 
    <!-- default values for query parameters can be specified, these 
     will be overridden by parameters in the request 
     --> 
    <lst name="defaults"> 
     <str name="echoParams">explicit</str> 
     <int name="rows">10</int> 
     <str name="df">_text_</str> 
     <str name="wt">json</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> 
    <arr name="last-components"> 
     <str>spellcheck</str> 
    </arr> 
    </requestHandler> 
+0

Dies ist Teil Ihrer 'solrconfig.xml' und Sie haben Solr neu gestartet, nachdem Sie es modifiziert haben? – freedev

+0

Ich habe nach den Änderungen neu gestartet – Zoran

Antwort

0

Es scheint, das Problem zu meinem Managed-Schemadatei verwandt war.

Ich analysiere XML-Dateien und solr fügt automatisch die Felder der XML-Dateien als Zeichenketten in die verwaltete Schema-Datei ein. Als ich mein Wörterbuchfeld änderte, um text_general zu schreiben, fing es an, wie erwartet zu arbeiten.

Ich kann nicht sehen, wie das funktioniert, aber ich habe keine anderen Änderungen vorgenommen. Ich löschte meinen Kern und begann von vorne, um sicherzustellen, dass ich mich nicht irrte, aber es funktionierte.

Verwandte Themen