Я запускаю программу в Lucene.Я получаю общее количество совпадений для каждого слова.Это означает, что он получает все файлы, содержащие слово, которое я ищу.
Пример:
Searching for 'Amazon'
Number of hits: 2
Hit: Files\peru.txt
Hit: Files\correspondent.txt
Searching for 'business'
Number of hits: 5
Hit: Files\innovation.txt
Hit: Files\xmas.txt
Hit: Files\bp.txt
Hit: Files\symbian.txt
Hit: Files\peru.txt
Searching for 'environment'
Number of hits: 3
Hit: Files\food.txt
Hit: Files\sarkozy.txt
Hit: Files\symbian.txt
Мой первый вопрос - как добавить общее количество совпадений для всего запроса (2 + 5 + 3) и отобразить их.
Мой второй вопрос: как отобразить результаты по порядку?от 2 до 3, затем 5
Любые предложения будут благодарны !!
Код для поиска по индексу и вышеприведенный вывод:
public static void searchIndex(String searchString) throws IOException, ParseException {
int counter = 0 ;
System.out.println("Searching for '" + searchString + "'");
Directory directory = FSDirectory.getDirectory(INDEX_DIRECTORY);
IndexReader indexReader = IndexReader.open(directory);
IndexSearcher indexSearcher = new IndexSearcher(indexReader);
Analyzer analyzer = new StandardAnalyzer();
QueryParser queryParser = new QueryParser(FIELD_CONTENTS, analyzer);
Query query = queryParser.parse(searchString);
Hits hits = indexSearcher.search(query);
System.out.println("Number of hits: " + hits.length());
Iterator<Hit> it = hits.iterator();
while (it.hasNext()) {
Hit hit = it.next();
Document document = hit.getDocument();
String path = document.get(path1);
System.out.println("Hit: " + path);
}
}
}
С уважением.