sto usando Solr per indicizzare i documenti in 3 langues (arabo, francese e inglese), ho usato questo fieldType:Solr per l'arabo
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
Tutto era buono, ma in lingua araba, quando ho messo questo richiesta di cercare una parola come حقل
Solr non trova la parola, ma quando metto la parola in opposto لقح
da sinistra a destra, Solr trova la parola e restituisce il risultato.
Posso avere risultato alla parole arabe?
Non conosco alcun meccanismo che possa invertire l'ordine del testo RTL in Solr. Generalmente, la gente scopre che vogliono una sorta di lemmatizzazione in arabo per gestire tutte le forme flesse. Che cosa stai usando per costruire l'interfaccia utente in cui stai digitando i termini di ricerca? – bmargulies
Sto usando una pagina web, anche nel mio test uso Eclipse direttamente con API solrj. –
Stai per caso estendendo il tuo testo da file PDF? Se è così ci sembra essere un problema noto con Tika: https://issues.apache.org/jira/browse/TIKA-469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12995516 –