No se puede usar ICUTokenizerFactory en Solr
lucene schema (2)
Estoy tratando de usar ICUTokenizerFactory en el esquema de Solr. Así es como he definido field
y fieldType
.
<fieldType name="text_icu" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.ICUTokenizerFactory"/>
</analyzer>
</fieldType>
<field name="fld_icu" type="text_icu" indexed="true" stored="true"/>
Y cuando comienzo Solr, obtengo este error
Plugin init failure for [schema.xml] fieldType "text_icu": Plugin init failure for [schema.xml] analyzer/tokenizer: Error loading class ''solr.ICUTokenizerFactory''
He buscado eso sin éxito. No sé si me falta algo o si hay algún problema en el esquema. Si alguien ha intentado ICUTokenizerFactory, sugiérale cuál podría ser el problema.
Agregue esto en la parte superior de su solrconfig.xml:
<config>
<lib dir="${user.dir}/../contrib/analysis-extras/lucene-libs/" />
<lib dir="${user.dir}/../contrib/analysis-extras/lib/" />
Esto supone que se está ejecutando desde el directorio de ejemplo con solr.solr.home establecido en su instancia. De lo contrario, solo use la ruta absoluta a su instalación de Solr.
También puede copiar todos esos jars en el directorio lib (debajo de su núcleo, no en su casa). Pero lo anterior es una manera más fácil.
De la Wiki:
Lucene proporciona soporte para segmentar estos idiomas en sílabas con solr.ICUTokenizerFactory en el módulo contrib de los análisis-extras. Para usar este tokenizer, consulte solr / contrib / analysis-extras / README.txt para obtener instrucciones sobre qué jarras debe agregar a su SOLR_HOME / lib