cancel
Showing results for 
Search instead for 
Did you mean: 

Lucene e Data Type Index Analyzers

fable80_9340
Champ in-the-making
Champ in-the-making
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
2 REPLIES 2

openpj
Elite Collaborator
Elite Collaborator
Alfresco indicizza i contenuti utilizzando l'analyzer relativo al locale di sessione utente.
Quindi se stai utilizzando un locale con una differente lingua ad esempio inglese, Alfresco indicizzerà utilizzando l'analyzer inglese.

Credo che questo sia il tuo caso  Smiley Wink

fable80_9340
Champ in-the-making
Champ in-the-making
Però il problema l'ho risolto commentando le righe contenute nel dataTypeAnalyzers_it.properties italiano, quindi era l'analyzer italiano che faceva indicizzare male i documenti (che sono in italiano)…  :?