AnsweredAssumed Answered

Lucene e Data Type Index Analyzers

Question asked by fable80_9340 on Aug 23, 2012
Latest reply on Aug 24, 2012 by fable80_9340
Avevo un problema che ho risolto, anche se non ho capito perché si presentava…

Utilizzando Lucene, la ricerca fulltext non funzionava bene. Soprattutto con wildcards.

Per fare un esempio: cercando la parola "assunto", mi ritornava anche documenti con "assunti", "assunta" ecc. Oppure cercando "trasformista", mi ritornava anche documenti con "trasformismo" (approssimando quindi due caratteri), ecc.

Ma soprattutto non funzionava la ricerca con caratteri jolly. Cercando "ass?nto" non usciva niente.

Alla fine ho capito che l'indicizzazione si "mangiava" l'ultimo carattere; infatti cercando "ass?nt", ecco che magicamente mi uscivano tutti i risultati corretti. Stesso discorso con il carattere *: per cercare la parola "determinazione", cercando per esempio "*termina*" o anche "*terminazio*" la trovavo, invece con "*terminazion*" no, perché la parola negli indici veniva evidentemente troncata a "determinazion".

Cercando un po' su google, ho letto il consiglio di commentare, all'interno del file dataTypeAnalyzers_it.properties cioè il data analyzer italiano, le due righe che contiene:

# d_dictionary.datatype.d_text.analyzer=org.alfresco.repo.search.impl.lucene.analysis.ItalianSnowballAnalyser
# d_dictionary.datatype.d_content.analyzer=org.alfresco.repo.search.impl.lucene.analysis.ItalianSnowballAnalyser

In tal modo vengono utilizzati quello dello standard data analyzer, contenuti nel file dataTypeAnalyzers.properties, cioè:

d_dictionary.datatype.d_text.analyzer=org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser
d_dictionary.datatype.d_content.analyzer=org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser


La domanda è la seguente: come mai il data analyzer in italiano indicizza male i documenti in italiano, "mangiandosi" le lettere finali dei contenuti testuali?

Ciao e grazie

Outcomes