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

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

Introduction

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

Prototype

public ModifiableSolrParams set(String name, String... val) 

Source Link

Document

Replace any existing parameter with the given name.

Usage

From source file:eu.europeana.solr.Collection2Test.java

License:Apache License

private static Map<String, Object> explain(String query) throws SolrServerException {
    System.out.println("query performed " + query);
    SolrQuery q = new SolrQuery(query);
    q.set("debugQuery", "on");
    // q.set("debug", "results");
    q.set("defType", "bm25f");
    q.setRows(10);/* w  w w  .  j  a  va  2s. c  o m*/
    QueryResponse qr = instance.query(q);
    Map<String, Object> explainmap = qr.getDebugMap();
    return explainmap;
}

From source file:eu.europeana.solr.SimpleCollectionSolrInstance.java

License:Apache License

public static void main(String[] args) throws SolrServerException, IOException {
    SimpleCollectionSolrInstance tester = new SimpleCollectionSolrInstance();
    tester.setSolrdir(new File(new File(new File(new File("src"), "test"), "resources"), "solr/" + CORE1));

    SolrQuery q = new SolrQuery("leonardo");
    q.set("debugQuery", "on");
    q.set("defType", "bm25f");

    q.setRows(10); // don't actually request any data

    QueryResponse qr = tester.query(q);//from   www . j  a  v a  2 s  .  c  o  m
    Map<String, String> explainmap = qr.getExplainMap();
    System.out.println("results " + qr.getResults().getNumFound());
    for (SolrDocument doc : qr.getResults()) {
        System.out.println("Title: " + doc.getFieldValue("title"));
        System.out.println("Expl: " + explainmap.get(doc.getFieldValue("europeana_id")));
    }

    tester.close();
}

From source file:eu.europeana.solr.SimpleCollectionTest.java

License:Apache License

private static SolrDocumentList getResults(String query, float k1, float[] boosts, float[] bParams)
        throws SolrServerException {
    System.out.println("query performed: " + query);
    SolrQuery q = new SolrQuery(query);
    q.set("debugQuery", "on");
    q.set("defType", "bm25f");
    q.set("fl", "*,score");
    q.set("k1", String.valueOf(k1));
    q.set("b", join(boosts, ":"));
    q.set("lb", join(bParams, ":"));

    q.setRows(10);//  ww  w  .j ava2 s. com
    QueryResponse qr = instance.query(q);
    // Map<String, String> explainmap = qr.getExplainMap();
    return qr.getResults();
}

From source file:eu.europeana.solr.SimpleCollectionTest.java

License:Apache License

private static Map<String, Object> explain(String query) throws SolrServerException {
    System.out.println("query performed " + query);
    SolrQuery q = new SolrQuery(query);
    q.set("debugQuery", "on");
    q.set("debug", "results");
    q.set("defType", "bm25f");
    q.setRows(10);// w  ww . jav  a  2 s .com
    QueryResponse qr = instance.query(q);
    Map<String, Object> explainmap = qr.getDebugMap();
    return explainmap;
}

From source file:eu.europeana.solr.SimpleCollectionTest2.java

License:Apache License

private static SolrDocumentList getResults(String query) throws SolrServerException {
    System.out.println("query performed: " + query);
    SolrQuery q = new SolrQuery(query);
    q.set("debugQuery", "on");
    // q.set("defType", "bm25f");
    q.set("fl", "*,score");
    q.setRows(10);/* ww w  .  ja v  a 2  s. c  om*/
    QueryResponse qr = instance.query(q);
    // Map<String, String> explainmap = qr.getExplainMap();
    return qr.getResults();
}

From source file:eu.europeana.solr.SimpleCollectionTest2.java

License:Apache License

private static SolrDocumentList getResults(String query, float k1, float[] boosts, float[] bParams)
        throws SolrServerException {
    System.out.println("query performed: " + query);
    SolrQuery q = new SolrQuery(query);
    q.set("debugQuery", "on");
    // q.set("defType", "bm25f");
    q.set("fl", "*,score");
    q.set("k1", String.valueOf(k1));
    q.set("b", join(boosts, ":"));
    q.set("lb", join(bParams, ":"));

    q.setRows(10);//from ww w .  ja v  a 2 s  . c  o m
    QueryResponse qr = instance.query(q);
    // Map<String, String> explainmap = qr.getExplainMap();
    return qr.getResults();
}

From source file:eu.europeana.solr.SimpleCollectionTest2.java

License:Apache License

private static SolrDocumentList getFilteredResults(String type, String query) throws SolrServerException {
    System.out.println("query performed: " + query);
    SolrQuery q = new SolrQuery(query);
    q.set("debugQuery", "on");
    q.set("defType", "bm25f");
    q.set("fl", "*,score");
    q.set("fq", "description:" + type);
    q.setRows(10);/*from  w  ww.j  a va2  s.c  o  m*/
    QueryResponse qr = instance.query(q);
    // Map<String, String> explainmap = qr.getExplainMap();
    return qr.getResults();
}

From source file:eu.europeana.solr.SolrServerTester.java

License:Apache License

public static void main(String[] args) throws SolrServerException, IOException {
    SolrServerTester tester = new SolrServerTester();
    tester.setSolrdir(new File(new File(new File(new File("src"), "test"), "resources"), "solr/" + CORE1));
    SolrServerIndexer indexer = new SolrServerIndexer();
    indexer.index(tester);/*w ww . j ava 2s  .c o  m*/
    tester.commit();

    SolrQuery q = new SolrQuery("Watermark");
    q.set("debugQuery", "on");
    q.set("defType", "bm25f");
    q.set("qf", "title text");

    q.setRows(10); // don't actually request any data

    QueryResponse qr = tester.query(q);
    Map<String, String> explainmap = qr.getExplainMap();
    System.out.println("results " + qr.getResults().getNumFound());
    for (SolrDocument doc : qr.getResults()) {
        System.out.println("Title: " + doc.getFieldValue("title"));
        System.out.println("Expl: " + explainmap.get(doc.getFieldValue("europeana_id")));
    }

    tester.close();
}

From source file:eu.prestoprime.search.util.SolrQueryUtils.java

License:Open Source License

/**
 * Enable Solr's Highlighting Component on this query object. Search terms
 * in the map (as values) are only highlighted in the belonging search
 * fields.//from w  w w  . jav  a2  s  . co m
 * 
 * @param solrQuery
 * @param fieldMap
 */
public static void enableHighlight(SolrQuery solrQuery, final Map<Schema.searchField, String> fieldMap) {
    // enable highlighting on Query
    solrQuery.setHighlight(true);

    // unlimited fragment size and hightlights
    solrQuery.setHighlightFragsize(0);

    StringBuilder logMsg = new StringBuilder("Enable highlighting on fields: ");

    // use these to set a start/end tag for highlights other than <em>
    // (defined in Solr Config)
    // solrQuery.setHighlightSimplePre(Constants.getString("HIGHLIGHT_PRE"));
    // solrQuery.setHighlightSimplePost(Constants.getString("HIGHLIGHT_POST"));

    if (fieldMap == null || fieldMap.isEmpty()) { // dismax query -> enable
        // highlighting on all
        // fields
        solrQuery.set("hl.highlightMultiTerm", true);

        for (searchField s : Schema.catchAll) {
            solrQuery.addHighlightField(s.getFieldName());
            logMsg.append(s.getFieldName() + ", ");
        }

        LOGGER.debug(logMsg.toString().substring(0, logMsg.length() - 2));
    } else {
        // highlight matching words in queried fields only
        solrQuery.set("hl.usePhraseHighlighter", true);
        solrQuery.setHighlightRequireFieldMatch(true);
        for (Entry<Schema.searchField, String> e : fieldMap.entrySet()) {
            // highlighting on range fields does no work. Just use text
            // fields
            if (e.getKey().getType().equals(Schema.FieldType.P4_TEXT)
                    || e.getKey().getType().equals(Schema.FieldType.STRING)) {
                logMsg.append(e.getKey().getFieldName() + ", ");
                solrQuery.addHighlightField(e.getKey().getFieldName());
            }
        }
        LOGGER.debug(logMsg.toString().substring(0, logMsg.length() - 2));
    }
}

From source file:eumetsat.pn.solr.webapp.SolrApp.java

@Override
protected Map<String, Object> describeProduct(String id) throws MalformedURLException, ParseException {
    Map<String, Object> data = new HashMap<>();
    //URL url = new URL(this.productEndpointUrlString + "?" + id);

    SolrQuery query = new SolrQuery();
    query.setRequestHandler(productEndpointUrlString);
    query.set("id", id);
    query.setFields("*");
    log.trace("Solr query: {}", query);

    try {/*from w  w w  . j  a  v a 2s.  co  m*/
        QueryResponse response = solr.query(query);

        SolrDocument result = (SolrDocument) response.getResponse().get("doc");
        log.trace("Result document: {}", result);

        data.put("id", result.getFieldValue("id"));
        data.put("title", result.getFieldValue("title"));
        data.put("abstract", result.getFieldValue("description"));

        if (result.getFieldValue("thumbnail_s") != null) {
            data.put("thumbnail", result.getFieldValue("thumbnail_s"));
        }
        if (result.getFieldValue("status_s") != null) {
            data.put("status", result.getFieldValue("status_s"));
        }
        if (result.getFieldValue("satellite_s") != null) {
            data.put("satellite", result.get("satellite_s"));
        }
        if (result.getFieldValue("keywords") != null) {
            data.put("keywords", Joiner.on(", ").join((Collection<String>) result.get("keywords")));
        }
        if (result.getFieldValue("distribution_ss") != null) {
            data.put("distribution", Joiner.on(", ").join((Collection<String>) result.get("distribution_ss")));
        }
        if (result.getFieldValue("category") != null) {
            data.put("category", Joiner.on(", ").join((Collection<String>) result.getFieldValue("category")));
        }
        if (result.getFieldValue("instrument_s") != null) {
            data.put("instrument", result.getFieldValue("instrument_s"));
        }
        if (result.getFieldValue("boundingbox") != null) {
            data.put("boundingbox", result.getFieldValue("boundingbox"));
        }
        if (result.getFieldValue("address_s") != null) {
            data.put("address", result.getFieldValue("address_s"));
        }
        if (result.getFieldValue("email_s") != null) {
            data.put("email", result.getFieldValue("email_s"));
        }
        if (result.getFieldValue("societalBenefitArea_ss") != null) {
            data.put("sba",
                    Joiner.on(", ").join((Collection<String>) result.getFieldValue("societalBenefitArea_ss")));
        }
        if (result.getFieldValue("xmldoc") != null) {
            data.put("xmldoc", result.getFieldValue("xmldoc"));
        }
    } catch (SolrServerException e) {
        log.error("Error querying Solr", e);
        addMessage(data, MessageLevel.danger, "Error during search: " + e.getMessage());
        //            errorResponse(e);
    }
    return data;
}