Может кто-нибудь помочь мне найти частоту слов во всех индексах lucene
например, если doc A имеет 3 слова (B) и doc C имеет 2 из них, я бы хотел метод возвращал 5 показывает частоту слова (B) во все индексе Luceneподсчет частоты слов в индексе lucene
ответ
Предполагая, что вы работать с Lucene 3.x:
IndexReader ir = IndexReader.open(dir);
TermDocs termDocs = ir.termDocs(new Term("your_field", "your_word"));
int count = 0;
while (termDocs.next()) {
count += termDocs.freq();
}
Некоторые комментарии:
dir
является экземпляр Lucene Directory class. Это создание отличается для индексов ОЗУ и файловой системы, подробности см. В документации Lucene.
"your_filed"
является поданной для поиска условий. Если у вас несколько полей, вы можете запустить процедуру для всех из них или, наоборот, при индексировании своих файлов вы можете создать специальное поле (например, «_content») и сохранить там объединенные значения всех других полей.
ужасно 'TermDocs' не в lucene 5.3.1, который я использую :( –
с помощью Lucene 3.4
простой способ получить счет, но вам нужно два массива: -/
int[] docs = new int[1000];
int[] freqs = new int[1000];
int count = indexReader.termDocs(term).read(docs, freqs);
берегитесь: если вы будете использовать для чтения вы не можете использовать следующий() более того, поскольку после чтения() вы уже находитесь в конце перечисления:
int[] docs = new int[1000];
int[] freqs = new int[1000];
TermDocs td = indexReader.termDocs(term);
int count = td.read(docs, freqs);
while (td.next()){ // always false, already at the end of the enumartion
}
- 1. Отслеживание/подсчет частоты слов
- 2. MySQL подсчет частоты слов
- 3. Сохранение слов с апострофом в индексе Lucene
- 4. Подсчет частоты слов в отсортированном списке
- 5. Подсчет частоты
- 6. поиска в индексе Lucene
- 7. Поиск нескольких слов в поле в индексе Lucene
- 8. Значение слова в индексе lucene
- 9. Lucene: срок перезарядки при индексе
- 10. Частоты Lucene юниграмм и биграммы
- 11. Подсчет частоты слов и запись в выходной файл
- 12. Поиск и подсчет частоты известных пар слов в нескольких файлах
- 13. Поиск двухбуквенных слов в Lucene
- 14. HibernateSearch/Lucene поиск в индексе с undersclore
- 15. Поиск «И» в индексе lucene
- 16. Распечатать слова в индексе - Lucene
- 17. Получить временные частоты в Lucene
- 18. Подсчет частоты слов после того, как вытекающие слова
- 19. Подсчет частоты слов и создание из него словаря
- 20. Подсчет частоты Непрерывные Даты
- 21. Подсчет частоты перечисления значений
- 22. Подсчет частоты бросков кубиков
- 23. подсчет частоты точных строк
- 24. подсчет частоты значения в столбце
- 25. Подсчет частоты элементов в массиве
- 26. Подсчет частоты последовательности в векторе
- 27. Подсчет частоты фактора в списке()
- 28. Нормализация нормальной частоты слов
- 29. Поиск частоты слов (Perl)
- 30. Выполнение гистограммы частоты слов
какой размер индекса вы смотрите? в зависимости от того, что вы можете подумать об использовании Hadoop для этого, или простой анализатор индексов для сбора частот слов на карте. – anirvan