List of usage examples for com.liferay.portal.kernel.search BooleanClauseOccur MUST
BooleanClauseOccur MUST
To view the source code for com.liferay.portal.kernel.search BooleanClauseOccur MUST.
Click Source Link
From source file:vn.com.ecopharma.emp.service.impl.EmpAnnualLeaveLocalServiceImpl.java
License:Open Source License
@SuppressWarnings("unchecked") public List<Document> filterByFields(SearchContext searchContext, Map<String, Object> filters, Sort sort, long companyId, int start, int end) throws ParseException { final List<Query> queries = new ArrayList<>(); if (filters != null) { for (Map.Entry<String, Object> filter : filters.entrySet()) { final String filterProperty = filter.getKey(); final Object filterValue = filter.getValue(); LOGGER.info("Filter Property: " + filterProperty); if (filterValue instanceof String) { LOGGER.info("Filter Property Value: " + filterValue); // TODO BooleanQuery stringFilterQuery = BooleanQueryFactoryUtil.create(searchContext); stringFilterQuery.addTerm(filterProperty, (String) filterValue, true, BooleanClauseOccur.MUST); queries.add(stringFilterQuery); } else if (filterValue instanceof List<?>) { queries.add(empLocalService.createStringListQuery(filterProperty, (List<String>) filterValue, searchContext)); } else if (filterValue instanceof Date) { // Query effectiveDateQuery = empLocalService // .createDateTermRangeQuery( // EmpAnnualLeaveField.EFFECTIVE_DATE, // effectiveDateFrom, effectiveDateTo, true, // true, searchContext); // if (effectiveDateQuery != null) { // queries.add(effectiveDateQuery); // } }//w w w . j av a 2 s.com } } /* SORT */ if (sort == null) { sort = new Sort(EmpAnnualLeaveField.ID, false); } return searchAllDocuments(searchContext, queries, companyId, sort, start, end); }
From source file:vn.com.ecopharma.emp.service.impl.EmpAnnualLeaveLocalServiceImpl.java
License:Open Source License
public Document getIndexedDocument(long id, SearchContext searchContext) { searchContext.setPortletIds(new String[] { EMInfo.PORTLET_ID }); BooleanQuery fullQuery = BooleanQueryFactoryUtil.create(searchContext); BooleanQuery booleanQuery = BooleanQueryFactoryUtil.create(searchContext); booleanQuery.addRequiredTerm(Field.ENTRY_CLASS_NAME, EmpAnnualLeave.class.getName()); booleanQuery.addExactTerm(EmpAnnualLeaveField.ID, id); try {//from w w w.j ava2 s .com fullQuery.add(booleanQuery, BooleanClauseOccur.MUST); Hits hits = SearchEngineUtil.search(searchContext, fullQuery); return !hits.toList().isEmpty() ? hits.toList().get(0) : null; } catch (ParseException e) { LogFactoryUtil.getLog(EmpDisciplineLocalServiceImpl.class).info(e); } catch (SearchException e) { LogFactoryUtil.getLog(EmpDisciplineLocalServiceImpl.class).info(e); } return null; }
From source file:vn.com.ecopharma.emp.service.impl.EmpDisciplineLocalServiceImpl.java
License:Open Source License
public List<Document> searchAllDocuments(SearchContext searchContext, List<Query> filterQueries, long companyId, Sort sort, int start, int end) { LOGGER.info("FilterQueries size: " + filterQueries.size()); final BooleanQuery fullQuery = BooleanQueryFactoryUtil.create(searchContext); final BooleanQuery allEntriesBooleanQuery = BooleanQueryFactoryUtil.create(searchContext); allEntriesBooleanQuery.addRequiredTerm(Field.ENTRY_CLASS_NAME, EmpDiscipline.class.getName()); try {// w w w. j a v a 2s .co m // add filter queries fullQuery.add(allEntriesBooleanQuery, BooleanClauseOccur.MUST); if (filterQueries != null && filterQueries.size() > 0) { for (Query query : filterQueries) { fullQuery.add(query, BooleanClauseOccur.MUST); } } final List<Document> documents = SearchEngineUtil .search(SearchEngineUtil.getDefaultSearchEngineId(), companyId, fullQuery, sort, start, end) .toList(); LOGGER.info("RESULT SIZE: " + documents.size()); return documents; } catch (SearchException e) { LogFactoryUtil.getLog(EmpDisciplineLocalServiceImpl.class).info(e); } catch (ParseException e) { LogFactoryUtil.getLog(EmpDisciplineLocalServiceImpl.class).info(e); } return new ArrayList<>(); }
From source file:vn.com.ecopharma.emp.service.impl.EmpDisciplineLocalServiceImpl.java
License:Open Source License
@SuppressWarnings("unchecked") public List<Document> filterByFields(SearchContext searchContext, Map<String, Object> filters, Sort sort, long companyId, int start, int end) throws ParseException { final List<Query> queries = new ArrayList<>(); if (filters != null) { Date effectiveDateFrom = filters.get(EmpDisciplineField.EFFECTIVE_DATE_FROM) != null ? (Date) filters.get(EmpDisciplineField.EFFECTIVE_DATE_FROM) : null;/*from w w w . j a va2s .com*/ Date effectiveDateTo = filters.get(EmpDisciplineField.EFFECTIVE_DATE_TO) != null ? (Date) filters.get(EmpDisciplineField.EFFECTIVE_DATE_TO) : null; for (Map.Entry<String, Object> filter : filters.entrySet()) { final String filterProperty = filter.getKey(); final Object filterValue = filter.getValue(); LOGGER.info("Filter Property: " + filterProperty); if (filterValue instanceof String) { LOGGER.info("Filter Property Value: " + filterValue); // TODO BooleanQuery stringFilterQuery = BooleanQueryFactoryUtil.create(searchContext); stringFilterQuery.addTerm(filterProperty, (String) filterValue, true, BooleanClauseOccur.MUST); queries.add(stringFilterQuery); } else if (filterValue instanceof List<?>) { queries.add(empLocalService.createStringListQuery(filterProperty, (List<String>) filterValue, searchContext)); } else if (filterValue instanceof Date) { Query effectiveDateQuery = empLocalService.createDateTermRangeQuery( EmpDisciplineField.EFFECTIVE_DATE, effectiveDateFrom, effectiveDateTo, true, true, searchContext); if (effectiveDateQuery != null) { queries.add(effectiveDateQuery); } } } } /* SORT */ if (sort == null) { sort = new Sort(EmpDisciplineField.ID, false); } return searchAllDocuments(searchContext, queries, companyId, sort, start, end); }
From source file:vn.com.ecopharma.emp.service.impl.EmpDisciplineLocalServiceImpl.java
License:Open Source License
public Document getIndexedDocument(long id, SearchContext searchContext) { searchContext.setPortletIds(new String[] { EMInfo.PORTLET_ID }); BooleanQuery fullQuery = BooleanQueryFactoryUtil.create(searchContext); BooleanQuery booleanQuery = BooleanQueryFactoryUtil.create(searchContext); booleanQuery.addRequiredTerm(Field.ENTRY_CLASS_NAME, EmpDiscipline.class.getName()); booleanQuery.addExactTerm(EmpDisciplineField.ID, id); try {/* w w w .j a v a 2 s . co m*/ fullQuery.add(booleanQuery, BooleanClauseOccur.MUST); Hits hits = SearchEngineUtil.search(searchContext, fullQuery); return !hits.toList().isEmpty() ? hits.toList().get(0) : null; } catch (ParseException e) { LogFactoryUtil.getLog(EmpDisciplineLocalServiceImpl.class).info(e); } catch (SearchException e) { LogFactoryUtil.getLog(EmpDisciplineLocalServiceImpl.class).info(e); } return null; }
From source file:vn.com.ecopharma.emp.service.impl.EmpLocalServiceImpl.java
License:Open Source License
@Override public List<Document> searchAllUnDeletedEmpIndexedDocument(SearchContext searchContext, List<Query> filterQueries, long companyId, Sort sort, int start, int end) { final BooleanQuery fullQuery = BooleanQueryFactoryUtil.create(searchContext); final BooleanQuery allEmpEntriesBooleanQuery = BooleanQueryFactoryUtil.create(searchContext); final BooleanQuery noneDeletedEmpsBooleanQuery = BooleanQueryFactoryUtil.create(searchContext); allEmpEntriesBooleanQuery.addRequiredTerm(Field.ENTRY_CLASS_NAME, Emp.class.getName()); noneDeletedEmpsBooleanQuery.addExactTerm(EmpField.IS_DELETED, "false"); try {/* w ww .ja va 2 s.c o m*/ // add filter queries fullQuery.add(allEmpEntriesBooleanQuery, BooleanClauseOccur.MUST); if (filterQueries != null && !filterQueries.isEmpty()) { for (Query query : filterQueries) { fullQuery.add(query, BooleanClauseOccur.MUST); } } // always filter for none-delete item fullQuery.add(noneDeletedEmpsBooleanQuery, BooleanClauseOccur.MUST); LOGGER.info(fullQuery); final List<Document> documents = SearchEngineUtil .search(SearchEngineUtil.getDefaultSearchEngineId(), companyId, fullQuery, sort, start, end) .toList(); LOGGER.info("RESULT SIZE: " + documents.size()); return documents; } catch (SearchException e) { LOGGER.info(e); } catch (ParseException e) { LOGGER.info(e); } return new ArrayList<>(); }
From source file:vn.com.ecopharma.emp.service.impl.EmpLocalServiceImpl.java
License:Open Source License
@SuppressWarnings("unchecked") public List<Document> filterEmployeeByFields(SearchContext searchContext, Map<String, Object> filters, Sort sort, long companyId, int start, int end) throws ParseException { final List<Query> queries = new ArrayList<>(); if (filters != null) { Date joinedDateFrom = filters.get(EmpField.JOINED_DATE_FROM) != null ? (Date) filters.get(EmpField.JOINED_DATE_FROM) : null;/* w w w.j av a2s. c o m*/ Date joinedDateTo = filters.get(EmpField.JOINED_DATE_TO) != null ? (Date) filters.get(EmpField.JOINED_DATE_TO) : null; for (Map.Entry<String, Object> filter : filters.entrySet()) { final String filterProperty = filter.getKey(); final Object filterValue = filter.getValue(); LOGGER.info("Filter Property: " + filterProperty); if (filterValue instanceof String) { LOGGER.info("Filter Property Value: " + filterValue); if (filterProperty.equalsIgnoreCase(GLOBAL_FILTER)) { final BooleanQuery globalFilterBooleanQuery = BooleanQueryFactoryUtil.create(searchContext); globalFilterBooleanQuery.addTerms(getGlobalSearchFields(), (String) filterValue, true); queries.add(globalFilterBooleanQuery); } else { // TODO BooleanQuery stringFilterQuery = BooleanQueryFactoryUtil.create(searchContext); stringFilterQuery.addTerm(filterProperty, (String) filterValue, true, BooleanClauseOccur.MUST); queries.add(stringFilterQuery); } } else if (filterValue instanceof List<?>) { if ((filterProperty.equalsIgnoreCase(EmpField.GENDER)) || filterProperty.equalsIgnoreCase(EmpField.STATUS)) { queries.add( createStringListQuery(filterProperty, (List<String>) filterValue, searchContext)); } else if (isOrganizationFilter(filterProperty)) { queries.add(createOrganizationFilterQuery(filterProperty, (List<String>) filterValue, searchContext)); } } else if (filterValue instanceof Date) { Query dateRangeQuery = createDateTermRangeQuery(EmpField.JOINED_DATE, joinedDateFrom, joinedDateTo, true, true, searchContext); if (dateRangeQuery != null) queries.add(dateRangeQuery); } else if (filterValue instanceof Map.Entry<?, ?>) { // for // autoComplete // filter final Map.Entry<String[], String> autoCompleteFilterEntry = (Map.Entry<String[], String>) filterValue; final BooleanQuery autoCompleteFilterBooleanQuery = BooleanQueryFactoryUtil .create(searchContext); autoCompleteFilterBooleanQuery.addTerms(autoCompleteFilterEntry.getKey(), autoCompleteFilterEntry.getValue(), true); queries.add(autoCompleteFilterBooleanQuery); } } } /* SORT */ if (sort == null) { sort = new Sort(EmpField.EMP_ID, false); } return searchAllUnDeletedEmpIndexedDocument(searchContext, queries, companyId, sort, start, end); }
From source file:vn.com.ecopharma.emp.service.impl.EmpLocalServiceImpl.java
License:Open Source License
@Override public List<Document> searchAllEmpDocs(SearchContext searchContext, List<Query> queries, long companyId) { BooleanQuery fullQuery = BooleanQueryFactoryUtil.create(searchContext); try {// w w w . ja va2s . co m for (Query query : queries) { fullQuery.add(query, BooleanClauseOccur.MUST); } LogFactoryUtil.getLog(fullQuery.toString()); return SearchEngineUtil.search(SearchEngineUtil.getDefaultSearchEngineId(), companyId, fullQuery, new Sort("empId", false), QueryUtil.ALL_POS, QueryUtil.ALL_POS).toList(); } catch (SearchException e) { LOGGER.info(e); } catch (ParseException e) { LOGGER.info(e); } return new ArrayList<>(); }
From source file:vn.com.ecopharma.emp.service.impl.EmpLocalServiceImpl.java
License:Open Source License
@Override public Document getIndexedEmp(long employeeId, SearchContext searchContext) { searchContext.setPortletIds(new String[] { EMInfo.PORTLET_ID }); BooleanQuery fullQuery = BooleanQueryFactoryUtil.create(searchContext); BooleanQuery booleanQuery = BooleanQueryFactoryUtil.create(searchContext); booleanQuery.addRequiredTerm(Field.ENTRY_CLASS_NAME, Emp.class.getName()); booleanQuery.addExactTerm(EmpField.EMP_ID, employeeId); try {//from w w w .ja v a2s . c o m fullQuery.add(booleanQuery, BooleanClauseOccur.MUST); Hits hits = SearchEngineUtil.search(searchContext, fullQuery); return !hits.toList().isEmpty() ? hits.toList().get(0) : null; } catch (ParseException e) { LOGGER.info(e); } catch (SearchException e) { LOGGER.info(e); } return null; }
From source file:vn.com.ecopharma.emp.service.impl.PromotedHistoryLocalServiceImpl.java
License:Open Source License
public List<Document> searchAllDocuments(SearchContext searchContext, List<Query> filterQueries, long companyId, Sort sort, int start, int end) { LOGGER.info("FilterQueries size: " + filterQueries.size()); final BooleanQuery fullQuery = BooleanQueryFactoryUtil.create(searchContext); final BooleanQuery allEmployeeEntriesBooleanQuery = BooleanQueryFactoryUtil.create(searchContext); final BooleanQuery noneDeletedEmployeesBooleanQuery = BooleanQueryFactoryUtil.create(searchContext); allEmployeeEntriesBooleanQuery.addRequiredTerm(Field.ENTRY_CLASS_NAME, PromotedHistory.class.getName()); noneDeletedEmployeesBooleanQuery.addExactTerm(PromotedHistoryField.IS_DELETED, "false"); try {/*ww w . j a v a2 s.c o m*/ // add filter queries fullQuery.add(allEmployeeEntriesBooleanQuery, BooleanClauseOccur.MUST); if (filterQueries != null && filterQueries.size() > 0) { for (Query query : filterQueries) { fullQuery.add(query, BooleanClauseOccur.MUST); } } // always filter for none-delete item fullQuery.add(noneDeletedEmployeesBooleanQuery, BooleanClauseOccur.MUST); final List<Document> documents = SearchEngineUtil .search(SearchEngineUtil.getDefaultSearchEngineId(), companyId, fullQuery, sort, start, end) .toList(); System.out.println("RESULT SIZE: " + documents.size()); return documents; } catch (SearchException e) { LOGGER.info(e); } catch (ParseException e) { LOGGER.info(e); } return null; }