Each time you perform a search in an index, a report is generated for that search. An array of search reports can be obtained by calling getSearchReports method of the Index class. Reports are stored in the index only while the index is loaded into RAM for use. If you reload the index, the reports will not be restored.
Each index search report contains the following information:
The start time of the search;
The end time of the search;
The search duration;
The number of documents found;
The total number of occurrences found;
The search query;
The search options.
The following example demonstrates how to get search reports from an index.
StringindexFolder="c:\\MyIndex\\";StringdocumentsFolder="c:\\MyDocuments\\";// Creating an index in the specified folder
Indexindex=newIndex(indexFolder);// Indexing documents from the specified folder
index.add(documentsFolder);// Searching in index
SearchResultresult1=index.search("Einstein");SearchResultresult2=index.search("\"Theory of Relativity\"");// Getting search reports
SearchReport[]reports=index.getSearchReports();// Printing reports to the console
for(SearchReportreport:reports){System.out.println("Query: "+report.getTextQuery());System.out.println("Time: "+report.getStartTime());System.out.println("Duration: "+report.getSearchDuration());System.out.println("Documents: "+report.getDocumentCount());System.out.println("Occurrences: "+report.getOccurrenceCount());System.out.println();}
More resources
GitHub examples
You may easily run the code from documentation articles and see the features in action in our GitHub examples: