2010-03-11 7 views
0

J'essaie d'ajouter des fonctionnalités de recherche en texte intégral à mon application RoR, mais je suis confronté à des problèmes en ce qui concerne l'arabe. AFAIK, il n'y a pas beaucoup de moteurs de recherche qui supportent la recherche, la morphologie et d'autres recherches avancées en texte intégral. La seule chose que j'ai trouvée était Lucene avec le tokenizer AraMorph. Le plugin acts_as_solr (solr est basé sur lucene, et ce plugin l'intègre à Rails) semble être abandonné, et je ne trouve aucune documentation utile. J'ai étudié le sphinx, le xapien, le furet et act_as_searchable, mais aucun d'entre eux n'offre de fonctionnalités avancées de recherche arabe au meilleur de ma connaissance.Recherche plein texte en arabe dans RoR

Toute aide serait vraiment apprécié

Mise à jour ==
J'ai des suggestions à utiliser sphynx, et je l'ai fait l'utiliser sur un projet antérieur, et cela fonctionne très bien. Cependant, il ne fournit aucune fonctionnalité de recherche avancée. Par exemple, les mots: كتاب (livre), مكتبة (bibliothèque) et كاتب (écrivain) sont tous dérivés de la même racine كتب. Je veux avoir la possibilité de rechercher "écrivain" et obtenir des résultats pour tous les mots dérivés de la même racine.
En outre, je souhaite que la recherche prenne en compte les styles de dictée arabes courants. Certains utilisent le "hamza" (همزة) et d'autres pas. D'autres écrivent des mots avec la lettre "taa marboota" (التاء المربوطة) tandis que d'autres utilisent la lettre "haa" (الهاء). Un bon moteur de recherche arabe devrait réaliser ces différences subtiles et les rechercher. Avec sphinx vous obtenez seulement ce que vous recherchez, et le seul moteur que j'ai trouvé pour répondre à de telles questions dans la langue arabe, était Lucene avec atomiseur AraMorph. Cependant, acts_as_solr (le plugin lucene pour rails) est abandonné. Donc, ma question est la suivante: existe-t-il un autre tokenizer pour un moteur de recherche?
KandadaBoggu mentionné sunspot, je vais vous donner qu'un aller et de répondre en arrière

Répondre

1

Vous devriez essayer en étendant les options Thinking Sphinx

Lire ceci: http://www.expressionlab.com/2008/11/19/thinking-sphinx-in-arabic-unicode

+0

Merci pour le lien. Je l'ai rencontré plus tôt et j'ai réussi à faire fonctionner un sphinx sur un site arabe. S'il vous plaît vérifier la mise à jour de ma question pour une meilleure explication de mon problème. – Faisal

+0

Je vais accepter cela comme réponse, car il fournit une recherche arabe avec pliage de caractères. L'étalement n'est cependant pas résolu. – Faisal

1

Pour Solr utilise Sunspot et Sunspot Rails.

Pour Sphinx utiliser Thinking Sphinx

Les deux gemmes sont excellents et ont une grande base installée. J'ai utilisé ThinkingSphinx dans quelques projets et je le recommande fortement.

+0

Je l'ai utilisé Sphinx + ThinkingSphinx avec la langue arabe. Fonctionne bien. – uzzz

+0

Sphinx est génial, utilisé sur un projet auparavant en arabe et ça marche. Cependant, il ne fournit aucune fonctionnalité de recherche complète avancée. Il ne cherche que ce que je lui donne, pas de stemming ou de morphologie ou de prendre en considération les diacritiques arabes. Je vais donner un coup de soleil, et de rendre compte – Faisal

+0

solr avec des rails de sunspot semble être un moteur de recherche très solide. Cependant, j'ai réussi à le faire fonctionner avec AraMorph (le stemmer arabe). Merci pour le bout de toute façon – Faisal