2009-10-29 4 views
2

Finalement, je crée un site web sur trois langues: anglais, russe et chinois. J'espère que si j'utilise UTF-8 dans l'application et la base de données, il n'y aura pas de problèmes d'entrée-sortie (y en aura-t-il?)php, recherche en chinois et russe

Mais la partie la plus effrayante est la recherche. Ca devrait être assez cool. Tout d'abord, j'ai regardé Zend_Search_Lucene, mais comme je me suis rendu compte de http://framework.zend.com/issues/browse/ZF/component/10021 il a des problèmes avec le chinois. :(

Maintenant, je pense à Sphinx, qui supporte à la fois l'anglais et le russe, mais je ne sais pas à quel point ça va être bon pour le chinois. . http://www.sphinxsearch.com/forum/view.html?id=1554 est une doublure en argent, mais ne pas l'expérience utilisateur Sphinx, je ne pense pas que je comprends ce qui est dit là.


Ainsi,

que quelqu'un a une expérience dans cette « langue-agnostique 'recherche et peut le partager avec moi, s'il vous plaît?

et pouvez-vous me donner quelque chose pour tester la recherche. En tant que locuteur natif russe avec quelques connaissances de base de l'anglais, je peux tester à la fois les recherches en russe et en anglais par moi-même, mais je ne sais même pas quelles parties de ce chinois photos sont des mots. S'il vous plaît, donnez-moi quelques cordes chinoises pour les mettre en index et quelques requêtes avec les résultats attendus!

Répondre

5

idéogrammes dans les langues telles que le chinois ou le japonais exigent deux positions de caractère terminal, de sorte que vous aura des problèmes avec UTF8 et vous devez utiliser à la place UTF16. En dehors de cela, tout moteur de recherche supportant UTF16 et vos exigences (par exemple, stemming) devrait fonctionner correctement - c'est-à-dire, si vous aimez Sphinx, allez-y!

+0

oh! Merci pour le commentaire! Shpinx ne supporte pas la morphologie chinoise, le faire? –

+3

Bien sûr, il le fait! Tant que vous êtes compatible avec votre encodage dans toute l'application, Je peux essayer ici: http://www.sphinxsearch.com/faq.html#encoding – Seb

+0

J'ai essayé d'utiliser des textes de http://zh.wikipedia.org/zh-tw/Wikipedia :% E9% A6% 96% E9% A1% B5 dans mon application comme les anglais Les textes ont été sauvegardés et sont affichés correctement Peut-être que j'ai mal compris vos mots? –

0

De xapian docs:

Xapian utilise la boule de neige Issus des algorithmes. Actuellement, ils prennent en charge le danois, le néerlandais, l'anglais, le finnois, le français, l'allemand, le hongrois, l'italien, le norvégien, le portugais, le roumain, le russe, l'espagnol, le suédois et le turc. Il y a aussi des implémentations du stemmer anglais de Lovins, du stemmer anglais original de Porter, du stemmer néerlandais de Kraaij-Pohlmann, et une variante du stemmer allemand qui normalise les trémas.

ou certaines des langues du monde, le chinois par exemple, le concept de stemming n'est pas applicable, mais il est certainement significatif pour les nombreuses langues du groupe indo-européen.

http://xapian.org/docs/stemming.html

+0

C'est juste une copie directe du doc- le problème chinois est sur la façon de diviser le texte dans la base de données - sans faire des choses vraiment stupides comme l'insertion d'espace entre les caractères. –

0

est-ce pas Google Recherche d'utilisateur suffisant pour vos besoins? Qu'est-ce que tu n'aimes pas?

+0

Je ne peux pas l'utiliser dans la situation :( –

0

Je maintiens un projet open source basé sur le sphinx pour fournir un meilleur support chinois. Vous pouvez jeter un oeil à http://code.google.com/p/sphinx-for-chinese/. Je ne sais pas grand-chose sur le russe, mais ce ne serait pas un problème si les mots russes sont séparés par des espaces. Laisse juste moi des messages si tu as des problèmes

Questions connexes