Soy muy nuevo en Solr pero estoy tratando de usar PatternReplaceCharFilterFactory para hacer un preprocesamiento en una cadena de número de teléfono que se almacenará. Aquí está la configuración para el campo:Solr PatternReplaceCharFilterFactory no reemplaza con el patrón especificado
<fieldType name="phone_number" class="solr.TextField" >
<analyzer>
<charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="\(?(\d{3})?\)?[-. ]?(\d{3})[-. ]?(\d{4})"
replaceWith="$1-$2-$3"/>
<tokenizer class="solr.StandardTokenizerFactory"/>
</analyzer>
</fieldType>
He probado la expresión regular y que coincide con todo lo que cabe esperar que (por ejemplo, 555.444.1234, (555) 444 a 1234, 5554441234, 4441234, 444 a 1.234. , etc.)
Ahora entiendo que la expresión regular debe coincidir con lo que se le pase y reemplazarla por el patrón especificado. Entonces, si me pasaran 555.123.4444, esperaría que el resultado fuera 555-123-4444 para pasar a StandardTokenizerFactory. A partir de ahí se descompondría en tokens 555,123,4444.
Dado cuánto tiempo he pasado en esto estoy seguro de que hay un pequeño problema de configuración que me falta, pero de la documentación disponible (que he visto) no tengo ni idea de qué se trata.
Gracias de antemano.
quizás pueda agregar algunos detalles a su pregunta (editarla) para que sea más útil para otros usuarios. Incluso puede autoaceptar su respuesta. – javanna
@javanna, en realidad no me deja aceptar mi respuesta automáticamente por 2 días o lo haría. No estaba seguro de si quería editar o responder. Me conformé con la respuesta, la aceptaré una vez que el período de espera haya terminado – Jared
¡Genial, gracias! – javanna