2010-10-22 8 views
10

Этот вопрос был задан до:Как реализовать полнотекстовый поиск на китайском языке на PostgreSQL?

Postgresql full text search in postgresql - japanese, chinese, arabic

но нет никаких ответов на китайском языке, насколько я могу видеть. Я взглянул на вики OpenOffice, и у нее нет словаря для китайцев.

Редактировать: Поскольку мы уже успешно используем внутренний механизм FTS PG для документов на английском языке, мы не хотим переходить на внешний механизм индексирования. В основном, я ищу китайскую конфигурацию FTS, включая парсер и словари для упрощенного китайского языка (мандарин).

+0

Как нам не удалось найти решение для этого (даже с щедростью я предложил), мы в конце концов переехал в SQL Server, который изначально поддерживает Китайская ФСТ. К счастью, наше приложение было разработано для того, чтобы быть агностиком DB-поставщика, так что это не было большой проблемой для нас. –

ответ

3

Я знаю, что это старый вопрос, но есть расширение Postgres для китайского: https://github.com/amutu/zhparser/

+0

Я получаю 'text-search запрос содержит только стоп-слова или не содержит лексемы, игнорируемые'. См. Https://stackoverflow.com/questions/41659909/fts-non-latin-text-search-query-contains-only-stop-words-or-doesnt-contain-lex – Growler

2

Индекс ваших данных с помощью Solr, это поисковый сервер с открытым исходным кодом, построенный на основе Lucene.

Вы можете найти более подробную информацию о Solr здесь:

http://lucene.apache.org/solr/

Хорошая книга о том, как к (с PDF скачать сразу) здесь:

https://www.packtpub.com/solr-1-4-enterprise-search-server/book

И обязательно используйте китайский токенизатор, например, solr.ChineseTokenizerFactory, потому что китайский не является разделителем пробелов.

+0

Нам нужно использовать двигатель FTS, встроенный в Postgres. Мы уже успешно реализовали английский FTS и хотим продолжать использовать ту же систему для китайских документов. –

+1

О, я вижу. Ну, тогда мой ответ вам не поможет. Я вижу ваше разъяснение/изменение в вопросе с момента вашего первоначального сообщения. Я не уверен, что ваша временная шкала будет соответствовать, но решения Solr - с открытым исходным кодом. Вы * можете * иметь возможность заимствовать у ChineseTokenizerFactory - это логика преодолевает присущую мне проблему, насколько я понимаю, что язык не является пробелом. Удачи вам. –

3

Я только что реализовал китайское решение FTS в PostgreSQL. Я сделал это, создав токены NGRAM с китайского ввода и создав необходимый tsvector с помощью встроенной функции (в моем случае я использовал plpythonu). Он работает очень хорошо (в основном предпочтительнее переходить на SQL Server !!!).

+3

Можете ли вы поделиться своим кодом, пожалуйста? – Evgeny

+0

да, сделайте пожалуйста! – 2013-10-13 16:10:48

Смежные вопросы