Example usage for org.apache.solr.client.solrj SolrQuery getFields

List of usage examples for org.apache.solr.client.solrj SolrQuery getFields

Introduction

In this page you can find the example usage for org.apache.solr.client.solrj SolrQuery getFields.

Prototype

public String getFields() 

Source Link

Usage

From source file:at.pagu.soldockr.core.QueryParserTest.java

License:Apache License

private void assertProjectionNotPresent(SolrQuery solrQuery) {
    Assert.assertNull(solrQuery.getFields());
}

From source file:de.dlr.knowledgefinder.webapp.webservice.solr.query.AbstractSolrQueryFactory.java

License:Apache License

private void addFieldsToSolrQuery(SolrQuery solrQuery, List<String> fieldList) {

    tryToAddGivenFieldsToSolrQuery(solrQuery, fieldList);
    if (solrQuery.getFields().equals("")) {
        addDefaultFieldsToSolrQuery(solrQuery);
    }/*from w ww.  j a v  a 2s .  c om*/
}

From source file:de.dlr.knowledgefinder.webapp.webservice.solr.query.AbstractSolrQueryFactory.java

License:Apache License

private void makeFieldsToHighlightFields(SolrQuery solrQuery, List<String> fieldHLList) {
    List<String> fieldList = splitString(solrQuery.getFields());

    for (String field : fieldList) {
        field = field.trim();// w w w  . ja  v a 2s .  c om
        if (fieldHLList.contains(field)) {
            solrQuery.addHighlightField(field);

        }
    }
}

From source file:eu.europeana.core.BeanQueryModelFactory.java

License:EUPL

@Override
public QueryResponse getSolrResponse(SolrQuery solrQuery, boolean isBriefDoc, Map<String, String[]> params)
        throws EuropeanaQueryException { // add bean to ???
    // since we make a defensive copy before the start is decremented we must do it here
    if (solrQuery.getStart() != null && solrQuery.getStart() > 0) {
        solrQuery.setStart(solrQuery.getStart() - 1);
    }/*from w w  w .  j a va 2s .  c  o  m*/
    // set facets
    if (isBriefDoc) {
        // only show spelling-suggestion on the first result page
        if ((solrQuery.getStart() == null || solrQuery.getStart() == 0)
                && solrQuery.getFilterQueries() == null) {
            // give spelling suggestions
            solrQuery.setParam("spellcheck", true);
            solrQuery.setParam("spellcheck.collate", true);
            solrQuery.setParam("spellcheck.extendedResults", true);
            solrQuery.setParam("spellcheck.onlyMorePopular", true);
            //                solrQuery.setParam("spellcheck.count", "4");
        }
        solrQuery.setFacet(true);
        solrQuery.setFacetMinCount(1);
        //solrQuery.setFacetLimit(100); solr default is 100 so doesn't need to be set explicitly
        if (solrQuery.getRows() == null) {
            solrQuery.setRows(12);
        }
        solrQuery.addFacetField(ThemeFilter.getTheme().getRecordDefinition().getFacetFieldStrings());
        // todo now hard-coded but these values must be retrieved from the RecordDefinition later
        if (solrQuery.getFields() == null) {
            solrQuery.setFields(
                    "europeana_uri,dc_title,europeana_object,dc_creator,europeana_year,europeana_provider,"
                            + "europeana_dataProvider,europeana_language,europeana_type,dc_description,dc_type");
            //            solrQuery.setFields("*,score");
            //            solrQuery.setFields(metadataModel.getRecordDefinition().getFieldStrings());
        }
        if (solrQuery.getQueryType().equalsIgnoreCase(QueryType.SIMPLE_QUERY.toString())) {
            solrQuery.setQueryType(queryAnalyzer
                    .findSolrQueryType(solrQuery.getQuery(), ThemeFilter.getTheme().getRecordDefinition())
                    .toString());
        }
    }
    SolrQuery dCopy = addHiddenQueryFilters(solrQuery, params);
    return getSolrResponseFromServer(dCopy, false);
}

From source file:org.apache.metron.solr.matcher.SolrQueryMatcher.java

License:Apache License

@Override
public boolean matches(Object o) {
    SolrQuery solrQuery = (SolrQuery) o;
    return Objects.equals(solrQuery.getStart(), expectedSolrQuery.getStart())
            && Objects.equals(solrQuery.getRows(), expectedSolrQuery.getRows())
            && Objects.equals(solrQuery.getQuery(), expectedSolrQuery.getQuery())
            && Objects.equals(solrQuery.getSorts(), expectedSolrQuery.getSorts())
            && Objects.equals(solrQuery.getFields(), expectedSolrQuery.getFields())
            && Arrays.equals(solrQuery.getFacetFields(), expectedSolrQuery.getFacetFields())
            && Objects.equals(solrQuery.get("collection"), expectedSolrQuery.get("collection"))
            && Objects.equals(solrQuery.get("stats"), expectedSolrQuery.get("stats"))
            && Objects.equals(solrQuery.get("stats.field"), expectedSolrQuery.get("stats.field"))
            && Objects.equals(solrQuery.get("facet"), expectedSolrQuery.get("facet"))
            && Objects.equals(solrQuery.get("facet.pivot"), expectedSolrQuery.get("facet.pivot"));
}

From source file:org.geotools.data.solr.SolrFeatureReader.java

License:Open Source License

/**
 * Creates the feature reader for SOLR store <br>
 * The feature reader use SOLR CURSOR to paginate request, so multiple SOLR query will be
 * executed//from   w  w w.j a  v  a 2s .c om
 * 
 * @param featureType the feature type to query
 * @param solrUrl the URL of SOLR server
 * @param solrQuery the SOLR query to execute
 * @param solrDataStore the SOLR store
 * @throws SolrServerException
 */
public SolrFeatureReader(SimpleFeatureType featureType, HttpSolrServer server, SolrQuery solrQuery,
        SolrDataStore solrDataStore) throws SolrServerException {
    this.featureType = featureType;
    this.solrQuery = solrQuery;
    this.wktReader = new WKTReader();
    this.solrDataStore = solrDataStore;
    this.pkey = solrDataStore.getPrimaryKey(featureType.getTypeName());

    this.builder = new SimpleFeatureBuilder(featureType);

    this.server = server;

    // Add always pk as field if not already present
    if (solrQuery.getFields() != null && !solrQuery.getFields().contains(pkey.getName())) {
        solrQuery.addField(pkey.getName());
    }

    // Can't use pagination with start, then first query for cursor mark of start
    if (solrQuery.getStart() != null && solrQuery.getStart() > 0) {
        cursorMark = getCursorMarkForStart(server, solrQuery);
    } else {
        cursorMark = CursorMarkParams.CURSOR_MARK_START;
    }
    solrQuery.set(CursorMarkParams.CURSOR_MARK_PARAM, cursorMark);
    QueryResponse rsp = server.query(solrQuery);
    if (this.solrDataStore.getLogger().isLoggable(Level.FINE)) {
        this.solrDataStore.getLogger().log(Level.FINE, "SOLR query done: " + solrQuery.toString());
    }
    this.solrDocIterator = rsp.getResults().iterator();
    nextCursorMark = rsp.getNextCursorMark();
    counter = 0;
}

From source file:org.opencommercesearch.AbstractSearchServer.java

License:Apache License

/**
 * Sets the list of fields that should be returned from search.
 * @param query Current SolrQuery being created.
 * @param country Current country code/*w  w  w  .jav  a  2 s  . c  om*/
 * @param catalog Current catalog code
 */
private void setFieldListParams(SolrQuery query, String country, String catalog) {
    String listPrice = "listPrice" + country;
    String salePrice = "salePrice" + country;
    String discountPercent = "discountPercent" + country;

    if (getCatalogCollection().trim().equalsIgnoreCase("catalogEvaluation")) {
        query.setFields("id", "productId", "title", "brand", "isToos", listPrice, salePrice, discountPercent,
                "url" + country, "reviewAverage", "reviews", "isPastSeason", "freeGift" + catalog, "image",
                "score", "isToos");
    } else {
        if (StringUtils.isEmpty(query.getFields())) {
            query.setFields("id", "productId", "title", "brand", "isToos", listPrice, salePrice,
                    discountPercent, "url" + country, "reviewAverage", "reviews", "isPastSeason",
                    "freeGift" + catalog, "image", "isCloseout");
        }
    }

    query.setParam(GroupCollapseParams.GROUP_COLLAPSE, true);
    query.setParam(GroupCollapseParams.GROUP_COLLAPSE_FL,
            listPrice + "," + salePrice + "," + discountPercent + ",color,colorFamily");
}