Как мне настроить и использовать 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