com.atlassian.jira.issue.search.providers
Class LuceneSearchProvider

java.lang.Object
  extended bycom.atlassian.jira.issue.search.providers.LuceneSearchProvider
All Implemented Interfaces:
SearchProvider

public class LuceneSearchProvider
extends Object
implements SearchProvider


Constructor Summary
LuceneSearchProvider(IssueFactory issueFactory, IssueManager issueManager, IssueIndexManager indexManager, ApplicationProperties applicationProperties, SearchProviderFactory searchProviderFactory)
           
 
Method Summary
static org.apache.lucene.search.Hits runSearch(org.apache.lucene.search.Searcher searcher, org.apache.lucene.search.Query query, org.apache.lucene.search.Filter filter, org.apache.lucene.search.SortField[] sortFields)
           
 List search(SearchRequest request, User searcher)
          Returns a list of GenericValue objects.
 void search(SearchRequest request, User user, org.apache.lucene.search.HitCollector hitCollector)
          Create a search, and for each match, call hitCollector.collect().
 SearchResults search(SearchRequest request, User searcher, PagerFilter pager)
          Search the index, and only return issues that are in the pager's range.
 void searchAndSort(SearchRequest request, User user, DocumentHitCollector hitCollector)
          For HitCollectors that need the search results to be sorted, use this method.
 long searchCount(SearchRequest request, User user)
          Return the number of issues matching a search request.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LuceneSearchProvider

public LuceneSearchProvider(IssueFactory issueFactory,
                            IssueManager issueManager,
                            IssueIndexManager indexManager,
                            ApplicationProperties applicationProperties,
                            SearchProviderFactory searchProviderFactory)
Method Detail

searchCount

public long searchCount(SearchRequest request,
                        User user)
                 throws SearchException
Description copied from interface: SearchProvider
Return the number of issues matching a search request.

Specified by:
searchCount in interface SearchProvider
Throws:
SearchException

search

public void search(SearchRequest request,
                   User user,
                   org.apache.lucene.search.HitCollector hitCollector)
            throws IOException,
                   SearchException
Description copied from interface: SearchProvider
Create a search, and for each match, call hitCollector.collect(). HitCollectors are low level Lucene classes, but they allow issues to be placed into buckets very quickly. Many of JIRA's graphs and stats are generated in this manner.

Specified by:
search in interface SearchProvider
Throws:
IOException
SearchException

searchAndSort

public void searchAndSort(SearchRequest request,
                          User user,
                          DocumentHitCollector hitCollector)
                   throws IOException,
                          SearchException
Description copied from interface: SearchProvider
For HitCollectors that need the search results to be sorted, use this method. However, this is much slower than using SearchProvider.search(SearchRequest, com.opensymphony.user.User, org.apache.lucene.search.HitCollector)

Specified by:
searchAndSort in interface SearchProvider
Throws:
IOException
SearchException

runSearch

public static org.apache.lucene.search.Hits runSearch(org.apache.lucene.search.Searcher searcher,
                                                      org.apache.lucene.search.Query query,
                                                      org.apache.lucene.search.Filter filter,
                                                      org.apache.lucene.search.SortField[] sortFields)
                                               throws IOException
Throws:
IOException

search

public List search(SearchRequest request,
                   User searcher)
            throws SearchException
Description copied from interface: SearchProvider
Returns a list of GenericValue objects.

Specified by:
search in interface SearchProvider
Throws:
SearchException

search

public SearchResults search(SearchRequest request,
                            User searcher,
                            PagerFilter pager)
                     throws SearchException
Description copied from interface: SearchProvider
Search the index, and only return issues that are in the pager's range. Note that this method returns read only Issue objects, and should not be used where you need the issue for update.

Specified by:
search in interface SearchProvider
Parameters:
pager - Pager filter (use PagerFilter.getUnlimitedFilter() to get all issues).
Throws:
SearchException


Copyright © 2002-2006 Atlassian. All Rights Reserved.