java - subsanacion - modelo de escritura publica rectificatoria
ID de documento de escritura de excepción en el índice; posible error de análisis (2)
Recibo el error anterior al indexar los documentos.
<field name="a_suggest" type="my_suggest_field" indexed="true" stored="false"/>
<field name="b_suggest" type="my_suggest_field" indexed="true" stored="false" />
<field name="c_suggest" type="my_suggest_field" indexed="true" stored="false"/>
<fieldType name="my_suggest_field" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.EdgeNGramFilterFactory" maxGramSize="10" minGramSize="2"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
Y recibo un error al llamar ..
server.add(documents);
Antes que nada, ¿cuál es el significado del posible error de análisis ? Está relacionado con el analizador de índice my_suggest_field
. ¿Se debe al orden de los tokens, filtros en el analizador de índices?
Gracias.
Necesito crear un tipo de campo separado para EdgeNGramFilterFactory
y sugerir normalmente.
<field name="my_suggest" type="my_suggest_field" indexed="true" stored="false"/>
<field name="my_suggest_ngram" type="my_suggest_ngram_field" indexed="true" stored="false"/>
<fieldType name="my_suggest_field" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<filter class="solr.LowerCaseFilterFactory" />
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
<fieldType name="my_suggest_ngram_field" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<filter class="solr.LowerCaseFilterFactory" />
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="10"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
Voy a hacer una copia de seguridad de esta pregunta porque es una de las primeras que surge al buscar este tema y no hay respuestas generales.
Estaba teniendo el mismo problema al tratar de usar la API de actualización para agregar un documento usando un json. Venga a descubrir que uno de mis campos en Solr no estaba formateado correctamente ya que estaba tratando de guardar una cadena XML en un campo de cadena. Tuve que cambiar el campo a text_general.
El error básicamente dice que lo que está ingresando podría no coincidir con su esquema. Compruebe cada uno de sus campos agregándolos a la actualización 1 a la vez. Luego cambia según sea necesario.