Лучше всего межъязыковой анализатор для использования с [закрытым] индексом lucene

Эта реализация верна.

Я не думаю, что оптимизация хвостового вызова - это то, что делает эту работу эффективной. Вместо этого, что позволяет ему работать эффективно, так это, верите или нет, неизменность действий ввода-вывода. Вы удивлены, что действия IO неизменны? Я был сначала! Это означает следующее: getCommandsFromUser - это рецепт «дел»; и каждый раз, когда вы оцениваете getCommandsFromUser, он оценивает один и тот же рецепт . (Хотя, конечно, не каждый раз, когда вы следуете рецепту, вы получаете один и тот же результат! Но это совершенно другая фаза выполнения.)

В результате этого все оценки getCommandsFromUser могут быть общими. - GHC просто хранит одну копию рецепта в памяти, и часть этого рецепта включает указатель на начало рецепта.

6
задан skaffman 16 June 2009 в 11:52
поделиться

5 ответов

SimpleAnalyzer действительно прост, все, что он делает, - это символы в нижнем регистре. Я бы подумал, что StandardAnalyzer даст лучшие результаты, чем SimpleAnalyzer, даже с данными не на английском языке. Возможно, вы могли бы немного улучшить его, предоставив собственный список стоп-слов в дополнение к английским по умолчанию.

1
ответ дан 9 December 2019 в 22:39
поделиться

From your description, I presume you have document of multiple languages but each document has text in only one language.

For this case, you can use Nutch's language identification to get the language of the document. Then use respective language analyzer to index. To get the correct results for search, you need apply language identification to the search query and use that analyzer.

The upside here is you will be able to use language-specific stemmer & stopwords, pushing the quality of search up. The extra overhead while indexing should be acceptable. The search queries where language identification fails to identify correct language may suffer though. I have used this couple of years back and the results were better than expected.

For CJK, you can apply similar technique but the tools might be different.

6
ответ дан 9 December 2019 в 22:39
поделиться

I Я использовал StandardAnalyzer с неанглийскими словами, и он работает нормально. Он даже имеет дело с акцентированными персонажами. Если язык CJK (китайский, японский, корейский), русский или немецкий, могут возникнуть проблемы, но я подозреваю, что большинство проблем будет связано с сокращением слов. Если у вас не включен стемминг, этого, вероятно, будет достаточно.

2
ответ дан 9 December 2019 в 22:39
поделиться

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

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

Конечный результат? Мы используем StandardAnalyzer , и у людей, использующих систему на нелатинских языках, очень мало жалоб на то, как работает наш поиск. Наша система, кстати, в некоторой степени «принуждена» к своим пользователям, так что люди не жалуются, а уходят куда-нибудь; если они недовольны, мы обычно знаем.

Так что, исходя из того факта, что я не завален жалобами пользователей (очень редкими, в основном касающимися китайского языка, но ничего серьезного, и их легко объяснить), это кажется «достаточно хорошим» для многих случаев.

1
ответ дан 9 December 2019 в 22:39
поделиться

Во-первых, вы должны выяснить, какой у вас язык? Например, мои документы на английский, японский или персидский. Вы можете определить язык вашего документа с помощью процесса на UTF-8 символы .

Затем, когда вы обнаружите, что ваш документ на каком языке, вы можете проанализировать его с помощью специального анализатора. специальным анализатором .

0
ответ дан 9 December 2019 в 22:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: