List of usage examples for org.apache.solr.client.solrj SolrQuery SolrQuery
public SolrQuery()
From source file:de.kp.ames.web.core.search.SearcherImpl.java
License:Open Source License
public String search(String request, String start, String limit) throws Exception { /*/*from ww w. j a va2s . co m*/ * Build Apache Solr query */ JSONObject jQuery = new JSONObject(request); String term = jQuery.has(JsonConstants.J_TERM) ? jQuery.getString(JsonConstants.J_TERM) : "*"; String fp = setFacets(jQuery); SolrQuery query = new SolrQuery(); if (fp != null) query.addFilterQuery(fp); /* * Paging support from Apache Solr */ int s = Integer.valueOf(start); int r = Integer.valueOf(limit); query.setStart(s); query.setRows(r); String qs = term + " OR " + SearchConstants.TERMS_FIELD + ":" + term; query.setQuery(qs); QueryResponse response = solrProxy.executeQuery(query); SolrDocumentList docs = response.getResults(); long total = docs.getNumFound(); /* * Sort search result */ StringCollector collector = new StringCollector(); Iterator<SolrDocument> iter = docs.iterator(); while (iter.hasNext()) { int pos = -1; SolrDocument doc = iter.next(); JSONObject jDoc = new JSONObject(); /* * Identifier */ String id = (String) doc.getFieldValue(SearchConstants.S_ID); jDoc.put(JsonConstants.J_ID, id); /* * Name */ String name = (String) doc.getFieldValue(SearchConstants.S_NAME); jDoc.put(JsonConstants.J_NAME, name); /* * Source */ String source = (String) doc.getFieldValue(SearchConstants.S_FACET); pos = source.lastIndexOf(":"); jDoc.put(JsonConstants.J_FACET, source.substring(pos + 1)); /* * Description */ String desc = (String) doc.getFieldValue(SearchConstants.S_DESC); desc = (desc == null) ? FncMessages.NO_DESCRIPTION_DESC : desc; jDoc.put(JsonConstants.J_DESC, desc); collector.put(name, jDoc); } /* * Render result */ JSONArray jArray = new JSONArray(collector.values()); return renderer.createGrid(jArray, total); }
From source file:de.kp.ames.web.core.search.SearcherImpl.java
License:Open Source License
public String suggest(String request, String start, String limit) throws Exception { /*//w ww. j a v a2 s . c o m * Retrieve terms */ SolrQuery query = new SolrQuery(); query.setParam(CommonParams.QT, "/terms"); query.setParam(TermsParams.TERMS, true); query.setParam(TermsParams.TERMS_LIMIT, SearchConstants.TERMS_LIMIT); query.setParam(TermsParams.TERMS_FIELD, SearchConstants.TERMS_FIELD); query.setParam(TermsParams.TERMS_PREFIX_STR, request); QueryResponse response = solrProxy.executeQuery(query); NamedList<Object> terms = getTerms(response); JSONArray jTerms = getTermValues(SearchConstants.TERMS_FIELD, terms); /* * Render result for DataSource */ return jTerms.toString(); }
From source file:de.qaware.spark.ExportHandlerRddTest.java
License:Apache License
public static void main(String[] args) throws IOException { final String solrZkHost = "192.168.1.100:2181"; //final String sparkMasterUrl = "local[*]"; final String sparkMasterUrl = "spark://192.168.1.100:7077"; SparkConf conf = new SparkConf().setMaster(sparkMasterUrl).setAppName("SparkSolrCsvAnayzer"); try (JavaSparkContext context = new JavaSparkContext(conf)) { context.addJar("./build/libs/spark-solr-csv-analyzer-1.0-SNAPSHOT-all.jar"); // make sure executors are up an running context.parallelize(new ArrayList<String>(), 20).map(n -> n); Date start = new Date(); // SolrQuery contains the query and all required parameters for using the /export handler. SolrQuery solrQuery = new SolrQuery(); solrQuery.set("q", "metric:*"); // required parameters for the /export request handler are fl and sort solrQuery.set("fl", "date,metric,host,process,value"); solrQuery.set("sort", "date asc"); solrQuery.set("qt", "/export"); // this does a parallel standard cursor based deep query SolrRDD simpleRdd = new SolrRDD(solrZkHost, "ekgdata2", context.sc(), new Some<>("/export"), Some.empty(), Some.empty(), Some.empty(), Some.empty(), Some.empty(), new Some<>(solrQuery)); long exportedDocs = simpleRdd.count(); Date end = new Date(); long duration = end.getTime() - start.getTime(); System.out// www . jav a2 s .co m .println("Result: " + exportedDocs + " SolrDocuments read in Spark in " + (duration) + " ms."); simpleRdd.query(solrQuery); System.out.println(Arrays.deepToString((Object[]) simpleRdd.take(5))); } finally { //noinspection ThrowFromFinallyBlock,ResultOfMethodCallIgnored System.in.read(); } }
From source file:de.qaware.spark.StreamHandlerRddTest.java
License:Apache License
public static void main(String[] args) throws IOException { final String solrZkHost = "192.168.1.100:2181"; //final String sparkMasterUrl = "local[*]"; final String sparkMasterUrl = "spark://192.168.1.100:7077"; SparkConf conf = new SparkConf().setMaster(sparkMasterUrl).setAppName("SparkSolrCsvAnayzer"); try (JavaSparkContext context = new JavaSparkContext(conf)) { context.addJar("./build/libs/spark-solr-csv-analyzer-1.0-SNAPSHOT-all.jar"); String expr = "search(ekgdata2, " + " q=\"metric:*used\"," + " fl=\"date,metric,value,host,process\"," + " sort=\"date asc\"," + " qt=\"/export\")"; SolrQuery solrQuery = new SolrQuery(); solrQuery.set("expr", expr); SolrRDD streamExprRDD = new SolrRDD(solrZkHost, "ekgdata2", context.sc(), new Some<>("/stream"), Some.empty(), Some.empty(), Some.empty(), Some.empty(), Some.empty(), new Some<>(solrQuery)); SolrJavaRDD rdd = new SolrJavaRDD(streamExprRDD); System.out.println("Result: " + rdd.count() + " Documents streamed."); JavaRDD<SolrDocument> docs = rdd.query(""); List<SolrDocument> d = docs.take(10); System.out.println(Arrays.deepToString(d.toArray())); } finally {//from ww w . j a va 2s . c om //noinspection ThrowFromFinallyBlock,ResultOfMethodCallIgnored System.in.read(); } }
From source file:de.unidue.inf.is.ezdl.dlwrapper.wrappers.AbstractSolrWrapper.java
License:Open Source License
@Override public final StoredDocumentList process(DocumentQuery documentQuery) { String solrQueryString = queryConverter.convert(documentQuery.getQuery()); getLogger().info("Query is: " + solrQueryString); SolrQuery query = new SolrQuery(); query.setIncludeScore(true);/*from w w w . j a va2 s . c om*/ query.setRows(getMaxNumberOfResults()); query.setQuery(solrQueryString); try { QueryResponse response = server.query(query); SolrDocumentList hits = response.getResults(); StoredDocumentList result = new StoredDocumentList(); for (int i = 0; (i < hits.size()) && !isHalted(); i++) { SolrDocument doc = hits.get(i); StoredDocument stored = readDocumentFromSolrIndex(doc); result.add(stored); } if (!isHalted()) { return result; } else { return new StoredDocumentList(); } } catch (SolrServerException e) { getLogger().error(e.getMessage(), e); } return new StoredDocumentList(); }
From source file:de.unidue.inf.is.ezdl.dlwrapper.wrappers.AbstractSolrWrapper.java
License:Open Source License
/** * Retrieves Solr document by its id./*from w ww . ja va2s.com*/ * * @param id * The id * @param field * The id field * @return The Solr document with the specified id */ protected final SolrDocument retrieveSolrDocumentForId(String id, Field field) { SolrQuery query = new SolrQuery(); query.setIncludeScore(true); query.setRows(1); QueryNodeCompare queryNodeCompare = new QueryNodeCompare(field, Predicate.EQ, id); query.setQuery(queryConverter.convert(new DefaultQuery(queryNodeCompare))); QueryResponse response; try { response = server.query(query); SolrDocumentList hits = response.getResults(); if (hits.size() == 1) { return hits.get(0); } } catch (SolrServerException e) { getLogger().error(e.getMessage(), e); } return null; }
From source file:dhbw.clippinggorilla.external.solr.SOLR.java
public static Article getArticle(int id) { if (client == null) { setServer();/* ww w.j av a2 s. c om*/ } String q = "id:\"" + Integer.toString(id) + "\""; SolrQuery query = new SolrQuery(); query.setQuery(q); try { QueryResponse queryResponse = client.query(query); List<Article> beans = queryResponse.getBeans(Article.class); if (!beans.isEmpty()) { return beans.get(0); } } catch (SolrServerException | IOException e) { Log.error("Solr: Can't Query", e); } return null; }
From source file:dhbw.clippinggorilla.external.solr.SOLR.java
public static LinkedHashSet<Article> getArticlesFromSolr(Set<String> includedTagsSet, Set<String> excludedTagsSet, Map<Source, Boolean> sourcesMap, LocalDateTime date) { SolrQuery query = new SolrQuery(); String include = ""; String exclude;//from ww w .j a va 2 s .c o m String sources = "source:\""; List<String> includedTags = new ArrayList<>(includedTagsSet); if (includedTags.size() > 0) { include = "(" + replaceWhitespaces(includedTags.get(0), true) + ")"; for (int i = 1; i < includedTags.size(); i++) { include += " OR " + "(" + replaceWhitespaces(includedTags.get(i), true) + ")"; } } List<String> excludedTags = new ArrayList<>(excludedTagsSet); if (excludedTags.size() > 0) { exclude = "-(" + replaceWhitespaces(excludedTags.get(0), false) + ")"; for (int i = 1; i < excludedTags.size(); i++) { exclude += " AND " + "-(" + replaceWhitespaces(excludedTags.get(i), false) + ")"; } query.addFilterQuery(exclude); } for (Map.Entry<Source, Boolean> entry : sourcesMap.entrySet()) { if (entry.getValue()) { sources = sources.concat(entry.getKey().getId() + "\" OR \""); } } sources = sources.substring(0, sources.length() - 5); query.setQuery(include); query.set("qf", "title^3 description^2 body"); query.addFilterQuery("publishedAt:[" + date.toString() + " TO NOW]"); query.addFilterQuery(sources); if (client == null) { setServer(); } try { QueryResponse queryResponse = client.query(query); List<Article> response = queryResponse.getBeans(Article.class); return new LinkedHashSet<>(response); } catch (SolrServerException | IOException e) { Log.error("Solr: Can't Query", e); return new LinkedHashSet<>(); } }
From source file:digicom.pot.nlp.OpenNLPUtilTest.java
License:Apache License
@Test public void testFilters() { List<String> queryList = new ArrayList<String>(); queryList.add("CHEFS knife set"); queryList.add("CHEFS kitchen towels"); queryList.add("CHEFS red bath towels"); queryList.add("bowl set CHEFS 6 pcs"); queryList.add("U Tops"); queryList.add("U white Tops"); queryList.add("U red Tops under 10$"); queryList.add("U pink Tops less than 10$"); queryList.add("U pink Tops less than 10 usd"); queryList.add("red Kitchen Towels"); queryList.add("red Kitchen Towels under 15$"); queryList.add("silver Platinum Pets toys"); queryList.add("red Progear towel"); queryList.add("red Progear towel under 18$"); queryList.add("Dickies blue pant"); queryList.add("Dickies kids clothes"); queryList.add("black Dickies thermal inner"); queryList.add("Onyx U sweater"); queryList.add("Onyx sweater"); ColorHelper colorHelper = new ColorHelper(); BrandHelper bhelper = new BrandHelper(); PriceHelper pricehelper = new PriceHelper(); SearchQueryProcessor sqp = new SearchQueryProcessor(); SolrQuery query = new SolrQuery(); String queryString = null;/*from ww w . j av a2s.co m*/ for (String document : queryList) { System.out.println("================================================="); /* * System.out.println("Colors : " + colorHelper.getColors(document, * extractor)); System.out.println("Brand : " + * bhelper.getBrands(document, extractor)); * System.out.println("Price : " + pricehelper.parseString(document, * extractor)); */ sqp.applyColorFilter(document, extractor, query); sqp.applyBrandFilter(document, extractor, query); queryString = sqp.applyPriceFilter(document, extractor, query); query.setQuery(queryString); System.out.println(query); } }
From source file:edu.cmu.lti.f12.hw2.hw2_team01.retrieval.SimpleSolrWrapper.java
License:Apache License
public SolrDocumentList runQuery(String q, int results) throws SolrServerException { SolrQuery query = new SolrQuery(); query.setQuery(escapeQuery(q));//from ww w . j a v a2 s. c om query.setRows(results); query.setFields("*", "score"); System.out.println(query.toString()); QueryResponse rsp = server.query(query); return rsp.getResults(); }