io uso solr per le mie applicazioni e ho integrato la componente di controllo ortografico, ma ho qualche problema:Solr Forse cercavi (Controllo ortografico componente)
Primo: quando si digita un termine separato da uno spazio mi danno la correzione per ogni termine
esempio: "ters wat" =>"cosa termine" ma il vero è Watters
in secondo luogo: quando si digita in modo me frase con un termine sbagliato. sebbene gli altri termini siano corretti applicano l'incantesimo per tutti i termini.
Ad esempio: "Difreences in lankuage convenzioni usa" => "Differenze nell'uso del linguaggio conversioni".
il vero è "Differenze nell'uso del linguaggio convenzioni"
Questo è il mio config nella solrconfig.xml:
<searchComponent name="spellcheck" class="solr.SpellCheckComponent">
<str name="queryAnalyzerFieldType">textSpell</str>
<lst name="spellchecker">
<str name="name">default</str>
<str name="field">spell</str>
<str name="spellcheckIndexDir">spellchecker</str>
</lst>
</searchComponent>
<requestHandler name="/spell" class="solr.SearchHandler" startup="lazy">
<lst name="defaults">
<str name="spellcheck.onlyMorePopular">true</str>
<str name="spellcheck.extendedResults">false</str>
<str name="spellcheck.count">1</str>
</lst>
<arr name="last-components">
<str>spellcheck</str>
</arr>
</requestHandler>
Schema.xml:
Tipocampo:
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="1" splitOnCaseChange="1"/>
<filter class="solr.ASCIIFoldingFilterFactory" />
<filter class="solr.SnowballPorterFilterFactory" language="English"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0"/>
<filter class="solr.ASCIIFoldingFilterFactory" />
<filter class="solr.SnowballPorterFilterFactory" language="English"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
</analyzer>
<analyzer type="multiterm" >
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.ASCIIFoldingFilterFactory" />
</analyzer>
</fieldType>
<fieldType name="textSpell" class="solr.TextField" positionIncrementGap="100" omitNorms="true">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
<filter class="solr.LowerCaseFilterFactory"/>
<!--<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>-->
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldType>
campi:
<field name="title" type="text" indexed="true" stored="true" termVectors="true"/>
<field name="spell" type="textSpell" indexed="true" stored="true" multiValued="true"/>
Copy I campi
<copyField source="title" dest="spell"/>
Gradirei il vostro aiuto
Acclamazioni
Bella domanda ... hai qualche tutorial che hai usato per imparare di più su lucene ... oltre alla documentazione ufficiale dalla pagina Solr? Ty –
@Sebastian: ** Tutorial di base: ** [Solr in 5 minuti] (http://www.solrtutorial.com/solr-in-5-minutes.html), [Apache Lucene quick-start guida] (http://www.ibm.com/developerworks/opensource/tutorials/os-apachelucene/). ** Esercitazione avanzata: ** [Dzone Solr Tutorial] (http://www.dzone.com/links/search.html?query=solr+lucene&x=-1335&y=-4). Esempi **: ** [solr Drupal per Drupal] (https://drupal.org/project/apachesolr), [Apache Solr per WordPress] (http://wordpress.org/plugins/solr- for-wordpress /), [Manuale Solr Php] (http://php.net/manual/fr/book.solr.php). Buona fortuna, spero che aiuti;) – ZendMind
** Libri: ** [Lucene and Solr: The Definitive Guide] (http://www.amazon.com/Lucene-Solr-Definitive-comprehensive-realtime/dp/1449359957/ref = sr_1_3? S = libri & ie = UTF8 e qid = 1378896499 & sr = 1-3 & keywords = solr), [Ricettario Apache Solr 4] (http://www.amazon.com/Apache-Solr-Cookbook-Rafal-Kuc/ dp/1782161325/ref = sr_1_1? s = libri & ie = UTF8 & qid = 1378896499 & sr = 1-1 = & parole chiave Solr). – ZendMind