Example usage for com.liferay.portal.kernel.search BooleanClauseOccur MUST

List of usage examples for com.liferay.portal.kernel.search BooleanClauseOccur MUST

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.search BooleanClauseOccur MUST.

Prototype

BooleanClauseOccur MUST

To view the source code for com.liferay.portal.kernel.search BooleanClauseOccur MUST.

Click Source Link

Usage

From source file:vn.com.ecopharma.hrm.rc.service.impl.CandidateLocalServiceImpl.java

License:Open Source License

public Document getIndexCandidateDocument(long id, SearchContext searchContext) {
    searchContext.setPortletIds(new String[] { ECO_RCUtils.PORTLET_ID });
    BooleanQuery fullQuery = BooleanQueryFactoryUtil.create(searchContext);
    BooleanQuery booleanQuery = BooleanQueryFactoryUtil.create(searchContext);
    booleanQuery.addRequiredTerm(Field.ENTRY_CLASS_NAME, Candidate.class.getName());
    booleanQuery.addExactTerm(CandidateField.CANDIDATE_ID, id);

    try {//  w ww  .j ava 2s.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.hrm.rc.service.impl.InterviewScheduleLocalServiceImpl.java

License:Open Source License

public List<Document> searchAllIndexedDocuments(SearchContext searchContext, List<Query> filterQueries,
        long companyId, Sort sort, int start, int end) {

    final BooleanQuery fullQuery = BooleanQueryFactoryUtil.create(searchContext);
    final BooleanQuery allEntriesBooleanQuery = BooleanQueryFactoryUtil.create(searchContext);

    allEntriesBooleanQuery.addRequiredTerm(Field.ENTRY_CLASS_NAME, InterviewSchedule.class.getName());

    try {/*from w w  w  . ja  v  a 2 s.  com*/
        // add filter queries
        fullQuery.add(allEntriesBooleanQuery, BooleanClauseOccur.MUST);
        if (filterQueries != null && !filterQueries.isEmpty()) {
            for (Query query : filterQueries) {
                fullQuery.add(query, BooleanClauseOccur.MUST);
            }
        }
        // always sort by ID if no specific sort set
        final Sort s = sort != null ? sort : new Sort(InterviewScheduleField.ID, false);
        return SearchEngineUtil
                .search(SearchEngineUtil.getDefaultSearchEngineId(), companyId, fullQuery, s, start, end)
                .toList();
    } catch (SearchException e) {
        LOGGER.info(e);
    } catch (ParseException e) {
        LOGGER.info(e);
    }
    return new ArrayList<>();
}

From source file:vn.com.ecopharma.hrm.rc.service.impl.InterviewScheduleLocalServiceImpl.java

License:Open Source License

public Document getIndexDocument(long id, SearchContext searchContext) {
    searchContext.setPortletIds(new String[] { ECO_RCUtils.PORTLET_ID });
    BooleanQuery fullQuery = BooleanQueryFactoryUtil.create(searchContext);
    BooleanQuery booleanQuery = BooleanQueryFactoryUtil.create(searchContext);
    booleanQuery.addRequiredTerm(Field.ENTRY_CLASS_NAME, InterviewSchedule.class.getName());
    booleanQuery.addExactTerm(InterviewScheduleField.ID, id);

    try {/*  ww w . j  ava  2s .  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.hrm.rc.service.impl.VacancyLocalServiceImpl.java

License:Open Source License

public List<Document> searchAllUnDeletedVacanciesIndexedDocument(SearchContext searchContext,
        List<Query> filterQueries, long companyId, Sort sort, int start, int end) {

    final BooleanQuery fullQuery = BooleanQueryFactoryUtil.create(searchContext);
    final BooleanQuery allVacancyEntriesBooleanQuery = BooleanQueryFactoryUtil.create(searchContext);
    final BooleanQuery noneDeletedVacancyBooleanQuery = BooleanQueryFactoryUtil.create(searchContext);

    allVacancyEntriesBooleanQuery.addRequiredTerm(Field.ENTRY_CLASS_NAME, Vacancy.class.getName());
    noneDeletedVacancyBooleanQuery.addExactTerm(VacancyField.IS_DELETED, "false");

    try {/* www.  j  av a 2 s  .co  m*/
        // add filter queries
        fullQuery.add(allVacancyEntriesBooleanQuery, 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(noneDeletedVacancyBooleanQuery, BooleanClauseOccur.MUST);

        /* SORT */
        if (sort == null) {
            sort = new Sort(CandidateField.VACANCY_ID, false);
        }

        return SearchEngineUtil
                .search(SearchEngineUtil.getDefaultSearchEngineId(), companyId, fullQuery, sort, start, end)
                .toList();
    } catch (SearchException e) {
        LOGGER.info(e);
    } catch (ParseException e) {
        LOGGER.info(e);
    }
    return new ArrayList<>();
}

From source file:vn.com.ecopharma.hrm.rc.service.impl.VacancyLocalServiceImpl.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<>();

    for (Map.Entry<String, Object> filter : filters.entrySet()) {
        String filterProperty = filter.getKey();
        Object filterValue = filter.getValue();

        if (filterValue instanceof String) {
            if (filterProperty.equalsIgnoreCase(VacancyField.GLOBAL)) {
                final BooleanQuery globalFilterBooleanQuery = BooleanQueryFactoryUtil.create(searchContext);
                globalFilterBooleanQuery.addTerms(getGlobalSearchableFields(), (String) filterValue, true);
                queries.add(globalFilterBooleanQuery);
            } else if (filterProperty.equalsIgnoreCase(CandidateField.APPLY_DATE_FROM)
                    || filterProperty.equalsIgnoreCase(CandidateField.APPLY_DATE_TO)) {
                // final String dateFrom = filters
                // .get(CandidateField.APPLY_DATE_FROM) != null ? (String)
                // filters
                // .get(CandidateField.APPLY_DATE_FROM)
                // : StringUtils.EMPTY;
                // final String dateTo = filters
                // .get(CandidateField.APPLY_DATE_TO) != null ? (String)
                // filters
                // .get(CandidateField.APPLY_DATE_TO)
                // : StringUtils.EMPTY;
                //
                // EmpLocalServiceUtil.createDateTermRangeQuery(
                // CandidateField.APPLICATION_DATE, queries, dateFrom,
                // dateTo, searchContext);
                // Query dateRangeQuery =
                // candidateLocalService.createDateTermRangeQuery(filterProperty,
                // dateFrom, dateTo, searchContext)
            } else {
                BooleanQuery stringFilterQuery = BooleanQueryFactoryUtil.create(searchContext);
                stringFilterQuery.addTerm(filterProperty, (String) filterValue, true, BooleanClauseOccur.MUST);
                queries.add(stringFilterQuery);
            }// ww w. ja  va2  s.co  m
        } else if (filterValue instanceof List<?>) {
            queries.add(EmpLocalServiceUtil.createStringListQuery(filterProperty, (List<String>) filterValue,
                    searchContext));
        }
    }
    return searchAllUnDeletedVacanciesIndexedDocument(searchContext, queries, companyId, sort, start, end);
}

From source file:vn.com.ecopharma.hrm.rc.service.impl.VacancyLocalServiceImpl.java

License:Open Source License

public Document getIndexVacancyDocument(long id, SearchContext searchContext) {
    searchContext.setPortletIds(new String[] { ECO_RCUtils.PORTLET_ID });
    BooleanQuery fullQuery = BooleanQueryFactoryUtil.create(searchContext);
    BooleanQuery booleanQuery = BooleanQueryFactoryUtil.create(searchContext);
    booleanQuery.addRequiredTerm(Field.ENTRY_CLASS_NAME, Vacancy.class.getName());
    booleanQuery.addExactTerm(VacancyField.VACANCY_ID, id);

    try {/*from www  .ja  v a  2s  .c om*/
        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.hrm.rc.service.impl.VacancyLocalServiceImpl.java

License:Open Source License

public Document getUndeletedIndexVacancyDocument(long id, SearchContext searchContext) {
    searchContext.setPortletIds(new String[] { ECO_RCUtils.PORTLET_ID });
    BooleanQuery fullQuery = BooleanQueryFactoryUtil.create(searchContext);
    BooleanQuery booleanQuery = BooleanQueryFactoryUtil.create(searchContext);
    BooleanQuery noneDeletedVacancyBooleanQuery = BooleanQueryFactoryUtil.create(searchContext);
    booleanQuery.addRequiredTerm(Field.ENTRY_CLASS_NAME, Vacancy.class.getName());
    booleanQuery.addExactTerm(VacancyField.VACANCY_ID, id);

    noneDeletedVacancyBooleanQuery.addExactTerm(VacancyField.IS_DELETED, "false");
    try {/* w w w. java 2 s.  c  o  m*/
        fullQuery.add(booleanQuery, BooleanClauseOccur.MUST);
        fullQuery.add(noneDeletedVacancyBooleanQuery, 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.hrm.tt.service.impl.TimeTrackingLocalServiceImpl.java

License:Open Source License

public List<Document> search(SearchContext searchContext, List<Query> queries, long companyId, Sort sort,
        int start, int end) throws ParseException, SearchException {
    final BooleanQuery fullQuery = BooleanQueryFactoryUtil.create(searchContext);
    final BooleanQuery allTimeTrackingBooleanQuery = BooleanQueryFactoryUtil.create(searchContext);

    allTimeTrackingBooleanQuery.addRequiredTerm(Field.ENTRY_CLASS_NAME, TimeTracking.class.getName());

    fullQuery.add(allTimeTrackingBooleanQuery, BooleanClauseOccur.MUST);
    for (Query query : queries) {
        fullQuery.add(query, BooleanClauseOccur.MUST);
    }/*from  w ww .  j  a  v a 2  s .com*/
    final List<Document> documents = SearchEngineUtil
            .search(SearchEngineUtil.getDefaultSearchEngineId(), companyId, fullQuery, sort, start, end)
            .toList();
    return documents;
}

From source file:vn.com.ecopharma.hrm.tt.service.impl.TimeTrackingLocalServiceImpl.java

License:Open Source License

public Document getIndexedTimeTracking(long id, SearchContext searchContext) {
    searchContext.setPortletIds(new String[] { ECO_TT_Info.PORTLET_ID });
    BooleanQuery fullQuery = BooleanQueryFactoryUtil.create(searchContext);
    BooleanQuery booleanQuery = BooleanQueryFactoryUtil.create(searchContext);
    booleanQuery.addRequiredTerm(Field.ENTRY_CLASS_NAME, TimeTracking.class.getName());
    booleanQuery.addExactTerm(TimeTrackingField.ID, id);

    try {//from   w  w w.ja  va2s .c o  m
        fullQuery.add(booleanQuery, BooleanClauseOccur.MUST);
        final Hits hits = SearchEngineUtil.search(searchContext, fullQuery);
        return !hits.toList().isEmpty() ? hits.toList().get(0) : null;
    } catch (ParseException e) {
        e.printStackTrace();
    } catch (SearchException e) {
        e.printStackTrace();
    }
    return null;
}