Example usage for com.liferay.portal.kernel.search SortFactoryUtil create

List of usage examples for com.liferay.portal.kernel.search SortFactoryUtil create

Introduction

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

Prototype

public static Sort create(String fieldName, int type, boolean reverse) 

Source Link

Usage

From source file:com.ext.portlet.Activity.ActivityUtil.java

License:Open Source License

private static Hits getAggregatedActivitySearchResults(long userId, int start, int end) throws SearchException {
    SearchContext context = new SearchContext();
    context.setCompanyId(DEFAULT_COMPANY_ID);
    BooleanQuery query = BooleanQueryFactoryUtil.create(context);
    query.addRequiredTerm(Field.ENTRY_CLASS_NAME, SocialActivity.class.getName());

    BooleanQuery subQuery = BooleanQueryFactoryUtil.create(context);
    subQuery.addExactTerm("userId", userId);

    try {//from   ww  w  .  ja  v  a 2  s.  c om
        query.add(subQuery, BooleanClauseOccur.MUST);
    } catch (ParseException e) {
        _log.error(e);
    }

    Sort sort = SortFactoryUtil.create("createDate", Sort.FLOAT_TYPE, true);
    return SearchEngineUtil.search(SearchEngineUtil.getDefaultSearchEngineId(), context.getCompanyId(), query,
            sort, start, end);
}

From source file:com.ext.portlet.Activity.ActivityUtil.java

License:Open Source License

private static Hits getAggregatedActivitySearchResultsExcludingUsers(List<Long> excludedUserIds, int start,
        int end) throws SearchException {
    SearchContext context = new SearchContext();
    context.setCompanyId(DEFAULT_COMPANY_ID);
    BooleanQuery query = BooleanQueryFactoryUtil.create(context);
    query.addRequiredTerm(Field.ENTRY_CLASS_NAME, SocialActivity.class.getName());

    BooleanQuery excludeQuery = BooleanQueryFactoryUtil.create(context);
    for (Long excludedUserId : excludedUserIds) {
        excludeQuery.addExactTerm("userId", excludedUserId);
    }//  w w  w.  java  2 s.  co m

    try {
        query.add(excludeQuery, BooleanClauseOccurImpl.MUST_NOT);
    } catch (ParseException e) {
        _log.error(e);
    }

    Sort sort = SortFactoryUtil.create("createDate", Sort.FLOAT_TYPE, true);
    return SearchEngineUtil.search(SearchEngineUtil.getDefaultSearchEngineId(), context.getCompanyId(), query,
            sort, start, end);
}

From source file:com.liferay.knowledgebase.util.KnowledgeBaseUtil.java

License:Open Source License

public static Sort[] getKBArticleSorts(String orderByCol, String orderByType) {

    if (Validator.isNull(orderByCol) || Validator.isNull(orderByType)) {
        return SortFactoryUtil.getDefaultSorts();
    }/*from   ww w. j a  v a2 s  . com*/

    boolean reverse = true;

    if (orderByType.equals("asc")) {
        reverse = false;
    }

    if (orderByCol.equals("create-date")) {
        String fieldName = Field.CREATE_DATE;

        return new Sort[] { SortFactoryUtil.create(fieldName, Sort.LONG_TYPE, reverse),
                SortFactoryUtil.create(null, Sort.SCORE_TYPE, false) };
    } else if (orderByCol.equals("modified-date")) {
        String fieldName = Field.MODIFIED_DATE;

        return new Sort[] { SortFactoryUtil.create(fieldName, Sort.LONG_TYPE, reverse),
                SortFactoryUtil.create(null, Sort.SCORE_TYPE, false) };
    } else if (orderByCol.equals("score")) {
        String fieldName = null;

        return new Sort[] { SortFactoryUtil.create(fieldName, Sort.SCORE_TYPE, !reverse),
                SortFactoryUtil.create(Field.MODIFIED_DATE, Sort.LONG_TYPE, true) };
    } else if (orderByCol.equals("title")) {
        String fieldName = "titleKeyword";

        return new Sort[] { SortFactoryUtil.create(fieldName, Sort.STRING_TYPE, reverse),
                SortFactoryUtil.create(null, Sort.SCORE_TYPE, false) };
    } else if (orderByCol.equals("user-name")) {
        String fieldName = Field.USER_NAME;

        return new Sort[] { SortFactoryUtil.create(fieldName, Sort.STRING_TYPE, reverse),
                SortFactoryUtil.create(null, Sort.SCORE_TYPE, false) };
    }

    return SortFactoryUtil.getDefaultSorts();
}