|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface SearchProvider
A SearchProvider in JIRA allows users to run structured searches against JIRA Lucene index as opposed
to database (SQL) based queries.
All search methods take a Query
which defines the criteria of the search,
including any sort information.
Method Summary | |
---|---|
void |
search(Query query,
com.atlassian.crowd.embedded.api.User searcher,
org.apache.lucene.search.HitCollector hitCollector)
Run a search based on the provided search criteria and, for each match, call hitCollector.collect(). |
void |
search(Query query,
User searcher,
org.apache.lucene.search.HitCollector hitCollector)
Deprecated. Use search(com.atlassian.query.Query, com.atlassian.crowd.embedded.api.User,
org.apache.lucene.search.HitCollector) . Since v4.3 |
void |
search(Query query,
com.atlassian.crowd.embedded.api.User searcher,
org.apache.lucene.search.HitCollector hitCollector,
org.apache.lucene.search.Query andQuery)
Run a search based on the provided search criteria and, for each match, call hitCollector.collect(). |
void |
search(Query query,
User searcher,
org.apache.lucene.search.HitCollector hitCollector,
org.apache.lucene.search.Query andQuery)
Run a search based on the provided search criteria and, for each match, call hitCollector.collect(). |
SearchResults |
search(Query query,
com.atlassian.crowd.embedded.api.User searcher,
PagerFilter pager)
Search the index, and only return issues that are in the pager's range. |
SearchResults |
search(Query query,
User searcher,
PagerFilter pager)
Deprecated. Use search(com.atlassian.query.Query, com.atlassian.crowd.embedded.api.User, com.atlassian.jira.web.bean.PagerFilter) . Since v4.3 |
SearchResults |
search(Query query,
com.atlassian.crowd.embedded.api.User searcher,
PagerFilter pager,
org.apache.lucene.search.Query andQuery)
Search the index, and only return issues that are in the pager's range while AND'ing the raw lucene query to the generated query from the provided searchQuery. |
SearchResults |
search(Query query,
User searcher,
PagerFilter pager,
org.apache.lucene.search.Query andQuery)
Deprecated. Use search(com.atlassian.query.Query, com.atlassian.crowd.embedded.api.User, com.atlassian.jira.web.bean.PagerFilter, org.apache.lucene.search.Query) . Since v4.3 |
void |
searchAndSort(Query query,
com.atlassian.crowd.embedded.api.User searcher,
org.apache.lucene.search.HitCollector hitCollector,
PagerFilter pager)
Run a search based on the provided search criteria and, for each match call hitCollector.collect(). |
void |
searchAndSort(Query query,
User searcher,
org.apache.lucene.search.HitCollector hitCollector,
PagerFilter pager)
Deprecated. Use searchAndSort(com.atlassian.query.Query, com.atlassian.crowd.embedded.api.User, org.apache.lucene.search.HitCollector, com.atlassian.jira.web.bean.PagerFilter) . Since v4.3 |
void |
searchAndSortOverrideSecurity(Query query,
com.atlassian.crowd.embedded.api.User searcher,
org.apache.lucene.search.HitCollector hitCollector,
PagerFilter pager)
Run a search based on the provided search criteria and, for each match call hitCollector.collect(). |
void |
searchAndSortOverrideSecurity(Query query,
User searcher,
org.apache.lucene.search.HitCollector hitCollector,
PagerFilter pager)
Deprecated. Use searchAndSortOverrideSecurity(com.atlassian.query.Query, com.atlassian.crowd.embedded.api.User, org.apache.lucene.search.HitCollector, com.atlassian.jira.web.bean.PagerFilter) . Since v4.3 |
long |
searchCount(Query query,
com.atlassian.crowd.embedded.api.User searcher)
Return the number of issues matching the provided search criteria. |
long |
searchCount(Query query,
User searcher)
Deprecated. Use searchCount(com.atlassian.query.Query, com.atlassian.crowd.embedded.api.User) . Since v4.3 |
long |
searchCountOverrideSecurity(Query query,
com.atlassian.crowd.embedded.api.User searcher)
Return the number of issues matching the provided search criteria, overridding any security constraints. |
long |
searchCountOverrideSecurity(Query query,
User searcher)
Deprecated. Use searchCount(com.atlassian.query.Query, com.atlassian.crowd.embedded.api.User) . Since v4.3 |
void |
searchOverrideSecurity(Query query,
com.atlassian.crowd.embedded.api.User searcher,
org.apache.lucene.search.HitCollector hitCollector)
Run a search based on the provided search criteria and, for each match, call hitCollector.collect() not taking into account any security constraints. |
void |
searchOverrideSecurity(Query query,
User searcher,
org.apache.lucene.search.HitCollector hitCollector)
Deprecated. Use searchOverrideSecurity(com.atlassian.query.Query, com.atlassian.crowd.embedded.api.User, org.apache.lucene.search.HitCollector) . Since v4.3 |
SearchResults |
searchOverrideSecurity(Query query,
com.atlassian.crowd.embedded.api.User searcher,
PagerFilter pager,
org.apache.lucene.search.Query andQuery)
Search the index, and only return issues that are in the pager's range while AND'ing the raw lucene query to the generated query from the provided searchQuery, not taking into account any security constraints. |
SearchResults |
searchOverrideSecurity(Query query,
User searcher,
PagerFilter pager,
org.apache.lucene.search.Query andQuery)
Deprecated. Use searchOverrideSecurity(com.atlassian.query.Query, com.atlassian.crowd.embedded.api.User, com.atlassian.jira.web.bean.PagerFilter, org.apache.lucene.search.Query) . Since v4.3 |
Method Detail |
---|
SearchResults search(Query query, com.atlassian.crowd.embedded.api.User searcher, PagerFilter pager) throws SearchException
Issue
objects, and should not be
used where you need the issue for update.
Also note that if you are only after the number of search results use
searchCount(com.atlassian.query.Query ,User)
as it provides better performance.
query
- contains the information required to perform the search.searcher
- the user performing the search, which will be used to create a permission filter that filters out
any of the results the user is not able to see and will be used to provide context for the search.pager
- Pager filter (use PagerFilter.getUnlimitedFilter()
to get all issues).
SearchResults
containing the resulting issues.
SearchException
- thrown if there is a severe problem encountered with lucene when searching (wraps an
IOException).
ClauseTooComplexSearchException
- if the query or part of the query produces
lucene that is too complex to be processed.SearchResults search(Query query, User searcher, PagerFilter pager) throws SearchException
search(com.atlassian.query.Query, com.atlassian.crowd.embedded.api.User, com.atlassian.jira.web.bean.PagerFilter)
. Since v4.3
Issue
objects, and should not be
used where you need the issue for update.
query
- contains the information required to perform the search.searcher
- the user performing the search, which will be used to create a permission filter that filters out
any of the results the user is not able to see and will be used to provide context for the search.pager
- Pager filter (use PagerFilter.getUnlimitedFilter()
to get all issues).
SearchResults
containing the resulting issues.
SearchException
- thrown if there is a severe problem encountered with lucene when searching (wraps an
IOException).
ClauseTooComplexSearchException
- if the query or part of the query produces
lucene that is too complex to be processed.SearchResults search(Query query, com.atlassian.crowd.embedded.api.User searcher, PagerFilter pager, org.apache.lucene.search.Query andQuery) throws SearchException
Issue
objects, and should not be
used where you need the issue for update.
Also note that if you are only after the number of search results use
searchCount(com.atlassian.query.Query ,User)
as it provides better performance.
query
- contains the information required to perform the search.searcher
- the user performing the search, which will be used to create a permission filter that filters out
any of the results the user is not able to see and will be used to provide context for the search.pager
- Pager filter (use PagerFilter.getUnlimitedFilter()
to get all issues).andQuery
- raw lucene Query to AND with the request.
SearchResults
containing the resulting issues.
SearchException
- thrown if there is a severe problem encountered with lucene when searching (wraps an
IOException).
ClauseTooComplexSearchException
- if the query or part of the query produces
lucene that is too complex to be processed.SearchResults search(Query query, User searcher, PagerFilter pager, org.apache.lucene.search.Query andQuery) throws SearchException
search(com.atlassian.query.Query, com.atlassian.crowd.embedded.api.User, com.atlassian.jira.web.bean.PagerFilter, org.apache.lucene.search.Query)
. Since v4.3
Issue
objects, and should not be
used where you need the issue for update.
query
- contains the information required to perform the search.searcher
- the user performing the search, which will be used to create a permission filter that filters out
any of the results the user is not able to see and will be used to provide context for the search.pager
- Pager filter (use PagerFilter.getUnlimitedFilter()
to get all issues).andQuery
- raw lucene Query to AND with the request.
SearchResults
containing the resulting issues.
SearchException
- thrown if there is a severe problem encountered with lucene when searching (wraps an
IOException).
ClauseTooComplexSearchException
- if the query or part of the query produces
lucene that is too complex to be processed.SearchResults searchOverrideSecurity(Query query, com.atlassian.crowd.embedded.api.User searcher, PagerFilter pager, org.apache.lucene.search.Query andQuery) throws SearchException
search(com.atlassian.query.Query , com.opensymphony.user.User, com.atlassian.jira.web.bean.PagerFilter, org.apache.lucene.search.Query)
instead, this should only be used when performing administrative tasks where you need to know ALL the issues
that will be affected.
Note that this method returns read only Issue
objects, and should not be
used where you need the issue for update. Also note that if you are only after the number of search
results use searchCount(com.atlassian.query.Query, User)
as it provides better performance.
query
- contains the information required to perform the search.searcher
- the user performing the search which will be used to provide context for the search.pager
- Pager filter (use PagerFilter.getUnlimitedFilter()
to get all issues).andQuery
- raw lucene Query to AND with the request.
SearchResults
containing the resulting issues.
SearchException
- thrown if there is a severe problem encountered with lucene when searching (wraps an
IOException).
ClauseTooComplexSearchException
- if the query or part of the query produces
lucene that is too complex to be processed.SearchResults searchOverrideSecurity(Query query, User searcher, PagerFilter pager, org.apache.lucene.search.Query andQuery) throws SearchException
searchOverrideSecurity(com.atlassian.query.Query, com.atlassian.crowd.embedded.api.User, com.atlassian.jira.web.bean.PagerFilter, org.apache.lucene.search.Query)
. Since v4.3
search(com.atlassian.query.Query , com.opensymphony.user.User, com.atlassian.jira.web.bean.PagerFilter, org.apache.lucene.search.Query)
instead, this should only be used when performing administrative tasks where you need to know ALL the issues
that will be affected.
query
- contains the information required to perform the search.searcher
- the user performing the search which will be used to provide context for the search.pager
- Pager filter (use PagerFilter.getUnlimitedFilter()
to get all issues).andQuery
- raw lucene Query to AND with the request.
SearchResults
containing the resulting issues.
SearchException
- thrown if there is a severe problem encountered with lucene when searching (wraps an
IOException).
ClauseTooComplexSearchException
- if the query or part of the query produces
lucene that is too complex to be processed.long searchCount(Query query, com.atlassian.crowd.embedded.api.User searcher) throws SearchException
search(com.atlassian.query.Query ,com.opensymphony.user.User,com.atlassian.jira.web.bean.PagerFilter)
query
- contains the information required to perform the search.searcher
- the user performing the search which will be used to provide context for the search.
SearchException
- thrown if there is a severe problem encountered with lucene when searching (wraps an
IOException).
ClauseTooComplexSearchException
- if the query or part of the query produces
lucene that is too complex to be processed.long searchCount(Query query, User searcher) throws SearchException
searchCount(com.atlassian.query.Query, com.atlassian.crowd.embedded.api.User)
. Since v4.3
search(com.atlassian.query.Query ,com.opensymphony.user.User,com.atlassian.jira.web.bean.PagerFilter)
query
- contains the information required to perform the search.searcher
- the user performing the search which will be used to provide context for the search.
SearchException
- thrown if there is a severe problem encountered with lucene when searching (wraps an
IOException).
ClauseTooComplexSearchException
- if the query or part of the query produces
lucene that is too complex to be processed.long searchCountOverrideSecurity(Query query, com.atlassian.crowd.embedded.api.User searcher) throws SearchException
searchCount(com.atlassian.query.Query , com.opensymphony.user.User)
instead, this should only be used when performing administrative tasks where you need to know ALL the issues
that will be affected.
Note: This does not load all results into memory and provides better performance than
search(com.atlassian.query.Query ,com.opensymphony.user.User,com.atlassian.jira.web.bean.PagerFilter)
query
- contains the information required to perform the search.searcher
- the user performing the search which will be used to provide context for the search.
SearchException
- thrown if there is a severe problem encountered with lucene when searching (wraps an
IOException).
ClauseTooComplexSearchException
- if the query or part of the query produces
lucene that is too complex to be processed.long searchCountOverrideSecurity(Query query, User searcher) throws SearchException
searchCount(com.atlassian.query.Query, com.atlassian.crowd.embedded.api.User)
. Since v4.3
searchCount(com.atlassian.query.Query , User)
instead, this should only be used when performing administrative tasks where you need to know ALL the issues
that will be affected.
Note: This does not load all results into memory and provides better performance than
search(com.atlassian.query.Query ,com.opensymphony.user.User,com.atlassian.jira.web.bean.PagerFilter)
query
- contains the information required to perform the search.searcher
- the user performing the search which will be used to provide context for the search.
SearchException
- thrown if there is a severe problem encountered with lucene when searching (wraps an
IOException).
ClauseTooComplexSearchException
- if the query or part of the query produces
lucene that is too complex to be processed.void search(Query query, com.atlassian.crowd.embedded.api.User searcher, org.apache.lucene.search.HitCollector hitCollector, org.apache.lucene.search.Query andQuery) throws SearchException
query
- contains the information required to perform the search.searcher
- the user performing the search which will be used to provide context for the search.hitCollector
- the Lucene object that will have collect called for each match.andQuery
- additional Lucene query to be anded with the lucene query that will be generated from JQL
SearchException
- thrown if there is a severe problem encountered with lucene when searching (wraps an
IOException).
ClauseTooComplexSearchException
- if the query or part of the query
produces lucene that is too complex to be processed.void search(Query query, User searcher, org.apache.lucene.search.HitCollector hitCollector, org.apache.lucene.search.Query andQuery) throws SearchException
query
- contains the information required to perform the search.searcher
- the user performing the search which will be used to provide context for the search.hitCollector
- the Lucene object that will have collect called for each match.andQuery
- additional Lucene query to be anded with the lucene query that will be generated from JQL
SearchException
- thrown if there is a severe problem encountered with lucene when searching (wraps an
IOException).
ClauseTooComplexSearchException
- if the query or part of the query
produces lucene that is too complex to be processed.void search(Query query, com.atlassian.crowd.embedded.api.User searcher, org.apache.lucene.search.HitCollector hitCollector) throws SearchException
query
- contains the information required to perform the search.searcher
- the user performing the search which will be used to provide context for the search.hitCollector
- the Lucene object that will have collect called for each match.
SearchException
- thrown if there is a severe problem encountered with lucene when searching (wraps an
IOException).
ClauseTooComplexSearchException
- if the query or part of the query produces
lucene that is too complex to be processed.void search(Query query, User searcher, org.apache.lucene.search.HitCollector hitCollector) throws SearchException
search(com.atlassian.query.Query, com.atlassian.crowd.embedded.api.User,
org.apache.lucene.search.HitCollector)
. Since v4.3
query
- contains the information required to perform the search.searcher
- the user performing the search which will be used to provide context for the search.hitCollector
- the Lucene object that will have collect called for each match.
SearchException
- thrown if there is a severe problem encountered with lucene when searching (wraps an
IOException).
ClauseTooComplexSearchException
- if the query or part of the query
produces lucene that is too complex to be processed.void searchOverrideSecurity(Query query, com.atlassian.crowd.embedded.api.User searcher, org.apache.lucene.search.HitCollector hitCollector) throws SearchException
search(com.atlassian.query.Query , com.opensymphony.user.User, org.apache.lucene.search.HitCollector)
instead, this should only be used when performing administrative tasks where you need to know ALL the issues
that will be affected.
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. This method is useful if you need to execute a
query in constant-memory (i.e. you do not want to load the results of your complete search into memory).
query
- contains the information required to perform the search.searcher
- the user performing the search which will be used to provide context for the search.hitCollector
- the Lucene object that will have collect called for each match.
SearchException
- thrown if there is a severe problem encountered with lucene when searching (wraps an
IOException).
ClauseTooComplexSearchException
- if the query or part of the query produces
lucene that is too complex to be processed.void searchOverrideSecurity(Query query, User searcher, org.apache.lucene.search.HitCollector hitCollector) throws SearchException
searchOverrideSecurity(com.atlassian.query.Query, com.atlassian.crowd.embedded.api.User, org.apache.lucene.search.HitCollector)
. Since v4.3
search(com.atlassian.query.Query , com.opensymphony.user.User, org.apache.lucene.search.HitCollector)
instead, this should only be used when performing administrative tasks where you need to know ALL the issues
that will be affected.
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. This method is useful if you need to execute a
query in constant-memory (i.e. you do not want to load the results of your complete search into memory).
query
- contains the information required to perform the search.searcher
- the user performing the search which will be used to provide context for the search.hitCollector
- the Lucene object that will have collect called for each match.
SearchException
- thrown if there is a severe problem encountered with lucene when searching (wraps an
IOException).
ClauseTooComplexSearchException
- if the query or part of the query produces
lucene that is too complex to be processed.void searchAndSort(Query query, com.atlassian.crowd.embedded.api.User searcher, org.apache.lucene.search.HitCollector hitCollector, PagerFilter pager) throws SearchException
search(com.atlassian.query.Query ,com.opensymphony.user.User,org.apache.lucene.search.HitCollector)
.
You may limit the number of results being collected by the HitCollector using the PagerFilter parameter.
This method is useful if you need to execute a query in constant-memory (i.e. you do not want to load
the results of your complete search into memory).
query
- contains the information required to perform the search.searcher
- the user performing the search which will be used to provide context for the search.hitCollector
- the Lucene object that will have collect called for each match.pager
- Pager filter (use PagerFilter.getUnlimitedFilter()
to get all issues).
SearchException
- thrown if there is a severe problem encountered with lucene when searching (wraps an
IOException).
ClauseTooComplexSearchException
- if the query or part of the query produces
lucene that is too complex to be processed.void searchAndSort(Query query, User searcher, org.apache.lucene.search.HitCollector hitCollector, PagerFilter pager) throws SearchException
searchAndSort(com.atlassian.query.Query, com.atlassian.crowd.embedded.api.User, org.apache.lucene.search.HitCollector, com.atlassian.jira.web.bean.PagerFilter)
. Since v4.3
search(com.atlassian.query.Query ,com.opensymphony.user.User,org.apache.lucene.search.HitCollector)
.
You may limit the number of results being collected by the HitCollector using the PagerFilter parameter.
This method is useful if you need to execute a query in constant-memory (i.e. you do not want to load
the results of your complete search into memory).
query
- contains the information required to perform the search.searcher
- the user performing the search which will be used to provide context for the search.hitCollector
- the Lucene object that will have collect called for each match.pager
- Pager filter (use PagerFilter.getUnlimitedFilter()
to get all issues).
SearchException
- thrown if there is a severe problem encountered with lucene when searching (wraps an
IOException).
ClauseTooComplexSearchException
- if the query or part of the query produces
lucene that is too complex to be processed.void searchAndSortOverrideSecurity(Query query, com.atlassian.crowd.embedded.api.User searcher, org.apache.lucene.search.HitCollector hitCollector, PagerFilter pager) throws SearchException
searchAndSort(com.atlassian.query.Query , com.opensymphony.user.User, org.apache.lucene.search.HitCollector, com.atlassian.jira.web.bean.PagerFilter)
instead, this should only be used when performing administrative tasks where you need to know ALL the issues
that will be effected.
Note: this is much slower than using search(com.atlassian.query.Query ,com.opensymphony.user.User,org.apache.lucene.search.HitCollector)
.
You may limit the number of results being collected by the HitCollector using the PagerFilter parameter.
This method is useful if you need to execute a query in constant-memory (i.e. you do not want to load
the results of your complete search into memory).
query
- contains the information required to perform the search.searcher
- the user performing the search which will be used to provide context for the search.hitCollector
- the Lucene object that will have collect called for each match.pager
- Pager filter (use PagerFilter.getUnlimitedFilter()
to get all issues).
SearchException
- thrown if there is a severe problem encountered with lucene when searching (wraps an
IOException).
ClauseTooComplexSearchException
- if the query or part of the query produces
lucene that is too complex to be processed.void searchAndSortOverrideSecurity(Query query, User searcher, org.apache.lucene.search.HitCollector hitCollector, PagerFilter pager) throws SearchException
searchAndSortOverrideSecurity(com.atlassian.query.Query, com.atlassian.crowd.embedded.api.User, org.apache.lucene.search.HitCollector, com.atlassian.jira.web.bean.PagerFilter)
. Since v4.3
searchAndSort(com.atlassian.query.Query , com.opensymphony.user.User, org.apache.lucene.search.HitCollector, com.atlassian.jira.web.bean.PagerFilter)
instead, this should only be used when performing administrative tasks where you need to know ALL the issues
that will be effected.
Note: this is much slower than using search(com.atlassian.query.Query ,com.opensymphony.user.User,org.apache.lucene.search.HitCollector)
.
You may limit the number of results being collected by the HitCollector using the PagerFilter parameter.
This method is useful if you need to execute a query in constant-memory (i.e. you do not want to load
the results of your complete search into memory).
query
- contains the information required to perform the search.searcher
- the user performing the search which will be used to provide context for the search.hitCollector
- the Lucene object that will have collect called for each match.pager
- Pager filter (use PagerFilter.getUnlimitedFilter()
to get all issues).
SearchException
- thrown if there is a severe problem encountered with lucene when searching (wraps an
IOException).
ClauseTooComplexSearchException
- if the query or part of the query produces
lucene that is too complex to be processed.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |