Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Lucene, получить все уникальные слова.


Автор: CSharpProgrammer 13.5.2011, 16:22
Доброго времени суток!

Задача такая, есть большой текстовый файл, нужно получить все уникальные слова из этого текста при помощи Lucene. Подскажите как лучше это сделать? С Lucene я новичек.

Автор: CSharpProgrammer 14.5.2011, 18:45
Код

List<String> sentences = ...
Directory d = new RAMDirectory();
StandardAnalyzer analyzer = new StandardAnalyzer(MATCH_VERSION, new HashSet<String>());
IndexWriterConfig conf = new IndexWriterConfig(MATCH_VERSION, analyzer);
IndexWriter w = new IndexWriter(d, conf);
for (String sentence : sentences) {
    Document doc = new Document();
    doc.add(new Field("sentence", value, Field.Store.YES, Field.Index.ANALYZED));
    w.addDocument(doc);
}
w.optimize();
w.close();

IndexReader ir = IndexReader.open(dir);
TermEnum trms = ir.terms();
int count = 0;
while (trms.next()){
    Term t = trms.term();
    System.out.println(++count + ". " + t.text() + ":" + trms.docFreq());
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)