Как мне настроить и использовать KStem в Java?

Я хочу остановить слова в моем документе и сосредоточиться на KStem. Я работаю в Eclipse и настроил Lucene, загрузив jar-файл lucene-core в папку lib и добавив его в путь сборки. Я также сделал это для файла JAR KStem. Однако я не могу найти какие-либо примеры или документацию о том, как использовать библиотеку KStem в моем коде Java. Мне нужно настроить Solr для этого - не совсем уверен, для чего это нужно.

1 ответ

Решение

Вам просто нужно настроить KStem, который будет выбран Lucene / SOLR в вашей схеме (в типе поля, в котором будет содержаться содержимое ваших документов), и отправлять документы только для индексации из вашего кода. Остальная часть магии (в том числе токенизация / прохождение / удаление стоп-слов / и т. Д.) Происходит внутри Lucene / SOLR (в зависимости от того, какие этапы обработки вы настраиваете для применения к вашим документам). Посмотрите, как настроить KStem в SOLR: http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters/Kstem

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

Если вам нужны такие функции, как фасетный поиск, автозаполнение, шардинг, репликация и т. Д., То установите и настройте Solr. Если нет, например, если ваша цель состоит в том, чтобы иметь относительно небольшой индекс документов, который можно быстро перестроить, и вы хотите организовать поиск из своего собственного приложения, то используйте Lucene в качестве библиотеки Java.

Как использовать KStemmer внутри своего кода:

private final KStemmer stemmer = new KStemmer();
// char[] term = ...
stemmer.stem(term, len);

Вам придется разделить содержимое документа на список терминов самостоятельно.

Вот как KStemmer используется в Lucene: http://svn.apache.org/repos/asf/lucene/dev/trunk/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/KStemFilter.java

Обратите внимание, что класс KStemmer является частью текущего транка Lucene (org.apache.lucene.analysis.en): http://svn.apache.org/repos/asf/lucene/dev/trunk/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/KStemmer.java

Другие вопросы по тегам