List of usage examples for org.apache.solr.client.solrj SolrQuery setQuery
public SolrQuery setQuery(String query)
From source file:de.fatalix.bookery.bl.WatchListService.java
License:Open Source License
public List<BookEntry> getAllBooks(List<WatchList> watchList) throws SolrServerException { if (watchList.isEmpty()) { return Collections.EMPTY_LIST; }/* w w w . j a v a 2 s .c o m*/ String searchString = "id:("; for (WatchList watchListItem : watchList) { searchString = searchString + "\"" + watchListItem.getBookId() + "\","; } searchString = searchString.substring(0, searchString.length() - 1) + ")"; SolrQuery query = new SolrQuery(); query.setRows(20); query.setStart(0); query.setQuery(searchString); query.setSort(SolrQuery.SortClause.asc("author")); query.setFields(SolrSearchUtil.DEFAULT_FIELDS); return bookService.searchBooks(query).getBeans(BookEntry.class); }
From source file:de.fatalix.bookery.bl.WatchListService.java
License:Open Source License
public SolrQuery getSolrQuery(List<WatchList> watchList) { if (watchList.isEmpty()) { return null; }/* w w w.j a v a2 s . c o m*/ String searchString = "id:("; for (WatchList watchListItem : watchList) { searchString = searchString + "\"" + watchListItem.getBookId() + "\","; } searchString = searchString.substring(0, searchString.length() - 1) + ")"; SolrQuery query = new SolrQuery(); query.setRows(20); query.setStart(0); query.setQuery(searchString); query.setSort(SolrQuery.SortClause.asc("author")); query.setFields(SolrSearchUtil.DEFAULT_FIELDS); return query; }
From source file:de.fatalix.bookery.view.home.HomeView.java
License:Open Source License
@Override public void enter(ViewChangeListener.ViewChangeEvent event) { try {/*w w w. ja va2s.c o m*/ bookCount.setValue("Aktuell sind " + presenter.getBookCount() + " Bcher in der Bookery"); String searchString = SolrSearchUtil.generateSearchString(""); SolrQuery query = new SolrQuery(); query.setRows(6); query.setStart(0); query.setQuery(searchString); query.setSort(SolrQuery.SortClause.desc("likes")); query.setFields(SolrSearchUtil.DEFAULT_FIELDS); QueryResponse response = presenter.searchBooks(query); mostLikedLane.loadLane("Beliebteste Bcher", response.getBeans(BookEntry.class), SearchView.id + "/likes"); query.setSort(SolrQuery.SortClause.desc("downloadcount")); response = presenter.searchBooks(query); mostLoadedLane.loadLane("Meist geladene Bcher", response.getBeans(BookEntry.class), SearchView.id + "/downloads"); searchString = SolrSearchUtil .addNewBooksSearchString(SecurityUtils.getSubject().getPrincipal().toString(), searchString); query.setQuery(searchString); query.setSort(SolrQuery.SortClause.asc("author")); response = presenter.searchBooks(query); newBooksLane.loadLane("Neue Bcher", response.getBeans(BookEntry.class), SearchView.id + "/auhtor/true"); query = presenter.getWatchListQuery(SecurityUtils.getSubject().getPrincipal().toString()); if (query != null) { query.setRows(6); response = presenter.searchBooks(query); watchListLane.loadLane("Deine Merkliste", response.getBeans(BookEntry.class), WatchListView.id); } else { watchListLane.loadLane("Deine Merkliste", Collections.EMPTY_LIST, WatchListView.id); } } catch (SolrServerException ex) { logger.error(ex, ex); } }
From source file:de.fatalix.bookery.view.search.SearchView.java
License:Open Source License
@Override public void enter(ViewChangeListener.ViewChangeEvent event) { SolrQuery.SortClause sortClause = SolrQuery.SortClause.asc("author"); String searchString = SolrSearchUtil.generateSearchString(appHeader.getSearchText()); String[] params = event.getParameters().split("/"); if (params.length > 0) { String sortParameter = params[0]; switch (sortParameter) { case "author": sortClause = SolrQuery.SortClause.asc("author"); break; case "likes": sortClause = SolrQuery.SortClause.desc("likes"); break; case "downloads": sortClause = SolrQuery.SortClause.desc("downloadcount"); break; }//from ww w .j av a2s .c o m if (params.length > 1) { String viewer = SecurityUtils.getSubject().getPrincipal().toString(); searchString = SolrSearchUtil.addNewBooksSearchString(viewer, searchString); } } SolrQuery query = new SolrQuery(); query.setRows(20); query.setStart(0); query.setQuery(searchString); query.setSort(sortClause); query.setFields(SolrSearchUtil.DEFAULT_FIELDS); searchLayout.searchBooks(query, true); }
From source file:de.kp.ames.web.core.search.SearcherImpl.java
License:Open Source License
public String facet() throws Exception { /*/* w ww . j av a 2 s .c o m*/ * Create query */ SolrQuery query = new SolrQuery(); query.setRows(0); /* * A single facet field is supported */ query.addFacetField(JsonConstants.J_FACET); query.setQuery("*"); /* * Retrieve facets from Apache Solr */ QueryResponse response = solrProxy.executeQuery(query); FacetField facet = response.getFacetField(JsonConstants.J_FACET); /* * Evaluate response */ if (facet == null) return new JSONArray().toString(); /* * Sort search result */ StringCollector collector = new StringCollector(); List<Count> values = facet.getValues(); if (values == null) return new JSONArray().toString(); for (int i = 0; i < values.size(); i++) { Count count = values.get(i); String name = facet.getName(); JSONObject jCount = new JSONObject(); jCount.put(JsonConstants.J_COUNT, count.getCount()); jCount.put(JsonConstants.J_FIELD, facet.getName()); jCount.put(JsonConstants.J_VALUE, count.getName()); collector.put(name, jCount); } JSONArray jArray = new JSONArray(collector.values()); return jArray.toString(); }
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 { /*/*www.jav a 2 s . c o 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.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 ava 2 s .co m 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 ww w . j a va 2 s. c o m * * @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();//w w w . j a v a 2 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 w ww . j a v a 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<>(); } }