The v2 search API provides a fast way of searching content within Confluence. We highly recommend that all plugin authors switch to this API where possible.

To illustrate how to use this API, we have included a simple code snippet for a basic search that:

SearchQuery query = BooleanQuery.composeAndQuery(new LabelQuery("administration"), new InSpaceQuery("DOC"));
SearchSort sort = new ModifiedSort(SearchSort.Order.DESCENDING); // latest modified content first
SearchFilter securityFilter = SiteSearchPermissionsSearchFilter.getInstance();
ResultFilter resultFilter = new SubsetResultFilter(10);

Search search = new Search(query, sort, securityFilter, resultFilter);

SearchResults searchResults;
try
{
	searchResults = searchManager.search(search);
}
catch (InvalidSearchException e)
{
	// discard search and assign empty results
	searchResults = LuceneSearchResults.EMPTY_RESULTS;
}

// iterating over search results
for (SearchResult searchResult : searchResults.getAll())
{
    System.out.println("Title: " + searchResult.getDisplayTitle());
    System.out.println("Content: " + searchResult.getContent());
    System.out.println("SpaceKey: " + searchResult.getSpaceKey());
}

// total number of results found
System.out.println("Total number of results: " + searchResults.getUnfilteredResultsCount());

Further comments:

RELATED TOPICS

API documentation