Klasse LuceneSearchService

java.lang.Object
org.imixs.workflow.engine.lucene.LuceneSearchService
Alle implementierten Schnittstellen:
SearchService

@DeclareRoles({"org.imixs.ACCESSLEVEL.NOACCESS","org.imixs.ACCESSLEVEL.READERACCESS","org.imixs.ACCESSLEVEL.AUTHORACCESS","org.imixs.ACCESSLEVEL.EDITORACCESS","org.imixs.ACCESSLEVEL.MANAGERACCESS"}) @RolesAllowed({"org.imixs.ACCESSLEVEL.NOACCESS","org.imixs.ACCESSLEVEL.READERACCESS","org.imixs.ACCESSLEVEL.AUTHORACCESS","org.imixs.ACCESSLEVEL.EDITORACCESS","org.imixs.ACCESSLEVEL.MANAGERACCESS"}) public class LuceneSearchService extends Object implements SearchService
This session ejb provides a service to search the lucene index. The EJB uses the IndexSearcher to query the current index. As the index can change across multiple searches we can not share a single IndexSearcher instance. For that reason the EJB is creating a new IndexSearch per-search. The service provides a set of public methods which can be used to query workitems or collections of workitems. A search term can be escaped by calling the method escpeSearchTerm. This method prepends a \ for those characters that QueryParser expects to be escaped.
Version:
2.0
Autor:
rsoika
  • Felddetails

    • DEFAULT_MAX_SEARCH_RESULT

      public static final int DEFAULT_MAX_SEARCH_RESULT
      Siehe auch:
    • DEFAULT_PAGE_SIZE

      public static final int DEFAULT_PAGE_SIZE
      Siehe auch:
  • Konstruktordetails

    • LuceneSearchService

      public LuceneSearchService()
  • Methodendetails

    • search

      public List<ItemCollection> search(String searchTerm, int pageSize, int pageIndex, SortOrder sortOrder, DefaultOperator defaultOperator, boolean loadStubs) throws QueryException
      Returns a collection of documents matching the provided search term. The term will be extended with the current users roles to test the read access level of each workitem matching the search term.

      The optional param 'searchOrder' can be set to force lucene to sort the search result by any search order.

      The optional param 'defaultOperator' can be set to Operator.AND

      The optional param 'stubs' indicates if the full Imixs Document should be loaded or if only the data fields stored in the lucedn index will be return. The later is the faster method but returns only document stubs.

      Angegeben von:
      search in Schnittstelle SearchService
      Parameter:
      searchTerm -
      pageSize - - docs per page
      pageIndex - - page number
      sortOrder -
      defaultOperator - - optional to change the default search operator
      loadStubs - - optional indicates of only the lucene document should be returned.
      Gibt zurück:
      collection of search result
      Löst aus:
      QueryException - in case the searchtem is not understandable.
    • getTaxonomy

      public List<Category> getTaxonomy(String... categories)
      Beschreibung aus Schnittstelle kopiert: SearchService
      Returns the total hits for a given set of categories from the lucene taxonomy index. The method did not load any data.
      Angegeben von:
      getTaxonomy in Schnittstelle SearchService
      Parameter:
      categories - - a list of categories.
      Gibt zurück:
      total hits of search result
    • getTaxonomyByQuery

      public List<Category> getTaxonomyByQuery(String searchTerm, String... categories)
      Beschreibung aus Schnittstelle kopiert: SearchService
      Returns the total hits for a given set of categories from the lucene taxonomy index based on a search query. The method did not load any data.
      Angegeben von:
      getTaxonomyByQuery in Schnittstelle SearchService
      Parameter:
      searchTerm - - a lucene search term
      categories - - a list of categories.
      Gibt zurück:
      total hits of search result
    • getTotalHits

      public int getTotalHits(String _searchTerm, int _maxResult, DefaultOperator defaultOperator) throws QueryException
      Returns the total hits for a given search term from the lucene index. The method did not load any data. The provided search term will we extended with a users roles to test the read access level of each workitem matching the search term. The optional param 'maxResult' can be set to overwrite the DEFAULT_MAX_SEARCH_RESULT.
      Angegeben von:
      getTotalHits in Schnittstelle SearchService
      Parameter:
      sSearchTerm -
      maxResult - - max search result
      Gibt zurück:
      total hits of search result
      Löst aus:
      QueryException - in case the searchterm is not understandable.
      Siehe auch:
      • Ungültige Referenz
        search(String, int, int, Sort, Operator)