Вопрос

В конце концов, я создаю веб-сайт на трех языках:английский, русский и китайский.Я надеюсь, что если я буду использовать UTF-8 в приложении и базе данных, не возникнет никаких проблем с вводом-выводом (не так ли?)

Но самая пугающая часть этого - это поиск.Оно должно быть достаточно прохладным.Оно должно быть полнотекстовым, его следует проиндексировать и т.д.Я надеюсь, что он поймет морфологию, будет использовать стемминг и т.д.

Сначала я просмотрел Zend_Search_Lucene, но, как я понял из http://framework.zend.com/issues/browse/ZF/component/10021 у него проблемы с китайским языком.:(

Теперь я думаю о Сфинксе.Он поддерживает как английскую, так и русскую основу.Я не уверен, насколько хорош он с китайским языком, и я понятия не имею, насколько трудно мне будет добавить для него поддержку. http://www.sphinxsearch.com/forum/view.html?id=1554 нет худа без добра, но, как неопытный пользователь Sphinx, я не думаю, что понимаю, о чем там говорится.


Итак,

есть ли у кого-нибудь какой-либо опыт в подобном поиске, не зависящем от языка, и может ли он поделиться им со мной, пожалуйста?

и не могли бы вы дать мне что-нибудь, чтобы протестировать поиск.Как носитель русского языка с некоторыми базовыми знаниями английского, я могу самостоятельно протестировать поисковые запросы как на русском, так и на английском языках, но я даже не знаю, какие части этого китайского ФОТОГРАФИИ это слова.Пожалуйста, дайте мне несколько китайских строк, чтобы поместить их в индекс, и несколько запросов с ожидаемыми результатами!

Это было полезно?

Решение

Идеографические символы в таких языках, как китайский или японский, требуют двух позиций терминальных символов, поэтому ты будет у вас проблемы с UTF8, и вы должны использовать UTF16 вместо этого.

Кроме того, любая поисковая система, поддерживающая UTF16 и ваши требования (напримерstemming) должно работать нормально - то есть, если вам нравится Sphinx, дерзайте!

Другие советы

Из Xapian docs :

Xapian использует Алгоритмы свертывания снежного кома.В настоящее время они поддерживают датский, голландский, английский, финский, французский, Немецкий, венгерский, Итальянский, норвежский, португальский, румынский, русский, испанский, шведский и турецкий языки.Существуют также реализации английского стеммера Ловинса, оригинального английского стеммера Портера, голландского стеммера Крайджа-Полмана и разновидности немецкого стеммера, который нормализует умляуты.

или к некоторым языкам мира, например, к китайскому, концепция происхождения неприменима, но она, безусловно, имеет значение для многих языков индоевропейской группы.

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

Недостаточно ли для ваших нужд пользовательского поиска в Google?Что именно тебе в нем не нравится?

Я поддерживаю проект с открытым исходным кодом, основанный на sphinx, чтобы обеспечить лучшую поддержку на китайском языке.Вы можете взглянуть на http://code.google.com/p/sphinx-for-chinese/ .Я не очень разбираюсь в русском языке, но не было бы никаких проблем, если бы русские слова разделялись пробелом.Просто оставляйте мне сообщения, если у вас возникнут какие-либо проблемы

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top