J'essaie de configurer un correcteur orthographique pour compléter automatiquement des phrases complètes à partir de ma requête.SolR: correction orthographique complète
Je l'ai déjà été en mesure d'obtenir ce résultat:
"american israel" :
-> "american something"
-> "israel something"
Mais je veux:
"american israel" :
-> "american israel something"
Ceci est mon solrconfig.xml:
<searchComponent name="suggest_full" class="solr.SpellCheckComponent">
<str name="queryAnalyzerFieldType">suggestTextFull</str>
<lst name="spellchecker">
<str name="name">suggest_full</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">text_suggest_full</str>
<str name="fieldType">suggestTextFull</str>
</lst>
</searchComponent>
<requestHandler name="/suggest_full" class="org.apache.solr.handler.component.SearchHandler">
<lst name="defaults">
<str name="echoParams">explicit</str>
<str name="spellcheck">true</str>
<str name="spellcheck.dictionary">suggest_full</str>
<str name="spellcheck.count">10</str>
<str name="spellcheck.onlyMorePopular">true</str>
</lst>
<arr name="last-components">
<str>suggest_full</str>
</arr>
</requestHandler>
Et voici mon schema.xml:
<fieldType name="suggestTextFull" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
...
<field name="text_suggest_full" type="suggestTextFull" indexed="true" stored="false" multiValued="true"/>
J'ai lu quelque part que je dois utiliser spellcheck.q parce q utiliser le WhitespaceAnalyzer, mais quand je l'utilise spellcheck.q i obtenir un java.lang.NullPointerException
Toutes les idées?
Bien sûr, j'ai "american israel quelque chose" dans un de mes documents. Ce n'est pas le problème ici. – Valentin