Quindi sono molto nuovo in Solr ma sto cercando di utilizzare il PatternReplaceCharFilterFactory per eseguire alcuni pre-elaborazione su una stringa di numero di telefono che verrà memorizzata. Ecco la configurazione per il campo:Solr PatternReplaceCharFilterFactory non in sostituzione con il modello specificato
<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>
Ho testato la regex e corrispondono a tutto quello che mi aspetterei a (ad esempio 555.444.1234, (555) 444-1234, 5.554.441,234 mila, 4.441.234, 444-1234. , eccetera).
Ora la mia comprensione è che la regex deve corrispondere a ciò che viene passato e sostituirla con il modello specificato. Quindi se mi hanno passato 555.123.4444 mi sarei aspettato che il risultato fosse 555-123-4444 da passare a StandardTokenizerFactory. Da lì verrebbe suddiviso in token 555,123,4444.
Dato quanto tempo ho speso per questo sono sicuro che c'è un piccolo problema di configurazione che mi manca ma dalla documentazione disponibile (che ho visto) non ho idea di cosa sia.
Grazie in anticipo.
forse puoi aggiungere alcuni dettagli alla tua domanda (modificarla) per renderla più utile per gli altri utenti. Puoi anche accettare automaticamente la tua risposta. – javanna
@javanna, In realtà non mi permette di accettare automaticamente la mia risposta per 2 giorni o lo farei. Non ero sicuro di voler modificare o rispondere. Ho deciso di rispondere, accetterò una volta che il periodo di attesa è finito – Jared
Grande, grazie! – javanna