-\r
- public int count(String queryString) {\r
- checkNotInPriorView("TaxonDaoHibernateImpl.count(String queryString)");\r
- QueryParser queryParser = new QueryParser(defaultField, new SimpleAnalyzer());\r
- \r
- try {\r
- org.apache.lucene.search.Query query = queryParser.parse(queryString);\r
- \r
- FullTextSession fullTextSession = Search.getFullTextSession(this.getSession());\r
- org.hibernate.search.FullTextQuery fullTextQuery = fullTextSession.createFullTextQuery(query, type);\r
- \r
- return fullTextQuery.getResultSize();\r
-\r
- } catch (ParseException e) {\r
- throw new QueryParseException(e, queryString);\r
- }\r
- }\r
-\r
- public List<TaxonBase> search(String queryString, Integer pageSize, Integer pageNumber) {\r
- checkNotInPriorView("TaxonDaoHibernateImpl.search(String queryString, Integer pageSize, Integer pageNumber)");\r
- QueryParser queryParser = new QueryParser(defaultField, new SimpleAnalyzer());\r
- List<TaxonBase> results = new ArrayList<TaxonBase>();\r
- \r
- try {\r
- org.apache.lucene.search.Query query = queryParser.parse(queryString);\r
- \r
- FullTextSession fullTextSession = Search.getFullTextSession(getSession());\r
- \r
- org.hibernate.search.FullTextQuery fullTextQuery = fullTextSession.createFullTextQuery(query, type);\r
- \r
- org.apache.lucene.search.Sort sort = new Sort(new SortField(defaultSort));\r
- fullTextQuery.setSort(sort);\r
- \r
- if(pageSize != null) {\r
- fullTextQuery.setMaxResults(pageSize);\r
- if(pageNumber != null) {\r
- fullTextQuery.setFirstResult(pageNumber * pageSize);\r
- } else {\r
- fullTextQuery.setFirstResult(0);\r
- }\r
- }\r
- \r
- List<TaxonBase> result = (List<TaxonBase>)fullTextQuery.list();\r
- for(TaxonBase taxonBase : result) {\r
- Hibernate.initialize(taxonBase.getName());\r
- }\r
- return result;\r
-\r
- } catch (ParseException e) {\r
- throw new QueryParseException(e, queryString);\r
- }\r
- }\r