search solr arabic

search - Solr para árabe



arabic (1)

Estoy usando Solr para indexar documentos en 3 langues (árabe, francés e inglés), he utilizado este fieldType:

<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>

Todo fue bien, pero en lenguaje árabe cuando puse esta solicitud para buscar una palabra como حقل Solr no encuentro la palabra, pero cuando coloco la palabra en el lado opuesto لقح de izquierda a derecha Solr encuentra la palabra y devuelve el resultado.

¿Puedo obtener un resultado para palabras en árabe?


Voy a convertir el inteligente análisis de Daniel aquí en una respuesta para el registro. No vote por esto, solo busque algo para votar :-)

Hay dos formas de obtener un desajuste de direccionalidad con el texto RTL. Puede indexarlo hacia atrás, o puede consultarlo al revés. Un simple formulario HTML que consulte Solr nunca arruinará la direccionalidad. En este cuidado, khaled extraía texto de un PDF usando una biblioteca que es víctima de la tendencia de los PDF a contener texto de "orden visual" en lugar de "orden lógico". Entonces el índice estaba lleno de árabe hacia atrás. Para solucionar esto, tendrá que crear una biblioteca que extraiga texto de pdfs.

Obligar a Apache Tika a usar el último PDFbox de Apache podría ayudar, o su PDF puede ser tan peculiar que incluso el último PDFBox no puede manejarlo. En cuyo caso, tiene un problema difícil.