Example usage for com.liferay.portal.kernel.search SearchContext getCompanyId

List of usage examples for com.liferay.portal.kernel.search SearchContext getCompanyId

Introduction

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

Prototype

public long getCompanyId() 

Source Link

Usage

From source file:org.rsc.liferay.solr.SolrIndexSearcher.java

License:Open Source License

protected Hits doSearch(SearchContext searchContext, Query query) throws Exception {

    SolrQuery solrQuery = translateQuery(searchContext.getCompanyId(), query, searchContext.getSorts(),
            searchContext.getStart(), searchContext.getEnd());

    Map<String, Facet> facets = searchContext.getFacets();

    for (Facet facet : facets.values()) {
        if (facet.isStatic()) {
            continue;
        }/*  ww w . j a  va2s .c  o  m*/

        FacetConfiguration facetConfiguration = facet.getFacetConfiguration();

        if (facet instanceof RangeFacet) {
            solrQuery.addFacetField(facetConfiguration.getFieldName());

            JSONObject dataJSONObject = facetConfiguration.getData();

            JSONArray rangesJSONArray = dataJSONObject.getJSONArray("ranges");

            if (rangesJSONArray == null) {
                continue;
            }

            for (int i = 0; i < rangesJSONArray.length(); i++) {
                JSONObject rangeJSONObject = rangesJSONArray.getJSONObject(i);

                String range = rangeJSONObject.getString("range");

                String facetQuery = facetConfiguration.getFieldName() + StringPool.COLON + range;

                solrQuery.addFacetQuery(facetQuery);
            }
        } else {
            solrQuery.addFacetField(facetConfiguration.getFieldName());
        }

        String facetSort = FacetParams.FACET_SORT_COUNT;

        String order = facetConfiguration.getOrder();

        if (order.equals("OrderValueAsc")) {
            facetSort = FacetParams.FACET_SORT_INDEX;
        }

        solrQuery.add("f." + facetConfiguration.getFieldName() + ".facet.sort", facetSort);
    }

    solrQuery.setFacetLimit(-1);

    QueryResponse queryResponse = _solrServer.query(solrQuery, METHOD.POST);

    boolean allResults = false;

    if (solrQuery.getRows() == 0) {
        allResults = true;
    }

    List<FacetField> facetFields = queryResponse.getFacetFields();

    if (facetFields != null) {
        for (FacetField facetField : facetFields) {
            Facet facet = facets.get(facetField.getName());

            FacetCollector facetCollector = null;

            if (facet instanceof RangeFacet) {
                facetCollector = new SolrFacetQueryCollector(facetField.getName(),
                        queryResponse.getFacetQuery());
            } else {
                facetCollector = new SolrFacetFieldCollector(facetField.getName(), facetField);
            }

            facet.setFacetCollector(facetCollector);
        }
    }

    return subset(solrQuery, query, query.getQueryConfig(), queryResponse, allResults);
}

From source file:org.rsc.liferay.solr.SolrIndexWriter.java

License:Open Source License

@Override
public void deletePortletDocuments(SearchContext searchContext, String portletId) throws SearchException {

    try {/*from  w  w w.ja  va2s .  c  om*/
        long companyId = searchContext.getCompanyId();

        StringBundler sb = null;

        if (companyId > 0) {
            sb = new StringBundler(9);

            sb.append(StringPool.PLUS);
            sb.append(Field.COMPANY_ID);
            sb.append(StringPool.COLON);
            sb.append(companyId);
            sb.append(StringPool.SPACE);
        }

        if (sb == null) {
            sb = new StringBundler(4);
        }

        sb.append(StringPool.PLUS);
        sb.append(Field.PORTLET_ID);
        sb.append(StringPool.COLON);
        sb.append(portletId);

        _solrServer.deleteByQuery(sb.toString());

        if (_commit) {
            _solrServer.commit();
        }
    } catch (Exception e) {
        _log.error(e, e);

        throw new SearchException(e.getMessage());
    }
}

From source file:org.rsc.liferay.solr.SolrSpellCheckIndexWriter.java

License:Open Source License

protected String buildDeleteQuery(SearchContext searchContext, String type) {

    StringBundler sb = new StringBundler(14);

    sb.append(StringPool.PLUS);//from  w  w  w . j  a v  a2s.  c o  m
    sb.append(Field.COMPANY_ID);
    sb.append(StringPool.COLON);
    sb.append(searchContext.getCompanyId());

    addQuerySeparator(sb);

    sb.append(Field.PORTLET_ID);
    sb.append(StringPool.COLON);
    sb.append(PortletKeys.SEARCH);

    addQuerySeparator(sb);

    addQueryType(sb, type);

    return sb.toString();
}

From source file:vn.com.ecopharma.emp.service.impl.EmpLocalServiceImpl.java

License:Open Source License

/**
 * @param query//from w w  w  . j a  v a 2s . c om
 * @param searchContext
 * @param start
 * @param end
 * @return
 * @throws ParseException
 */
@Deprecated
public List<Document> filterEmployeeByAutocompleteQuery(String query, SearchContext searchContext, int start,
        int end) throws ParseException {
    final Map<String, Object> filters = new HashMap<>();
    filters.put(GLOBAL_FILTER, query);
    return filterEmployeeByFields(searchContext, filters, null, searchContext.getCompanyId(), start, end);
}

From source file:vn.com.ecopharma.emp.service.impl.EmpLocalServiceImpl.java

License:Open Source License

public List<Document> filterEmployeeByAutocompleteQuery(String query, Map<String, Object> filters,
        SearchContext searchContext, int start, int end) throws ParseException {
    filters.put("AUTO_COMPLETE",
            new AbstractMap.SimpleEntry<String[], String>(getAutocompleteSearchFields(), query));

    return filterEmployeeByFields(searchContext, filters, null, searchContext.getCompanyId(), start, end);
}