List of usage examples for org.apache.solr.client.solrj SolrQuery setSort
public SolrQuery setSort(SortClause sortClause)
From source file:bamboo.trove.rule.RuleChangeUpdateManager.java
License:Apache License
private SolrQuery createQuery(String query) { SolrQuery q = new SolrQuery("*:*"); // TODO: Should we add a request handler to the solr cluster to get metrics // on the volume and/or performance of these searches in their own bucket? q.setFilterQueries(query);/*from ww w. jav a 2 s . c o m*/ q.setFields(SOLR_FIELDS); q.setSort(SortClause.asc(SolrEnum.ID.toString())); q.setRows(solrReadSize); return q; }
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 ww . j a v a2 s.co 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; }/*from w ww.j a v a 2 s . co 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 . j a v a 2 s . 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 w w w . ja va2 s .c om*/ 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.fhg.iais.cortex.nodestore.searcher.NodeSearcherImpl.java
License:Apache License
@Override public SolrDocumentList getHierarchyNodes(String ingestId, String providerId) { StringBuilder querySb = new StringBuilder(INGEST_ID + ":\"" + ingestId + "\" AND " + PROVIDER_ID + ":"); if ("*".equals(providerId)) { querySb.append(providerId);// w ww .jav a 2 s . c om } else { querySb.append("\"" + providerId + "\""); } SolrQuery query = new SolrQuery(querySb.toString()); query.setSort(SortClause.create(POSITION, SolrQuery.ORDER.asc)); query.setStart(0); query.setRows(Integer.MAX_VALUE); try { QueryResponse response = this.solrServer.query(query); return response.getResults(); } catch (SolrServerException e) { throw new NodeStoreException( "Could not retrieve nodes for ingest " + ingestId + " and provider " + providerId, e); } }
From source file:de.fhg.iais.cortex.nodestore.searcher.NodeSearcherImpl.java
License:Apache License
@Override public SolrDocumentList getHierarchyChildren(String id, Query filterQuery) { SolrQuery childQuery = new SolrQuery(PARENT + ":\"" + id + "\""); if (!Strings.isNullOrEmpty(filterQuery.getQuery()) && !filterQuery.getQuery().equals(Query.ALL_QUERY)) { childQuery.addFilterQuery(filterQuery.getQuery()); }/*from ww w. ja v a2 s . co m*/ childQuery.setStart(filterQuery.getOffset()); childQuery.setRows(filterQuery.getRows()); childQuery.setSort(SortClause.create(POSITION, SolrQuery.ORDER.asc)); try { QueryResponse response = this.solrServer.query(childQuery); return response.getResults(); } catch (SolrServerException e) { throw new NodeStoreException("Could not retrieve the node with id " + id, e); } }
From source file:de.hebis.it.hds.gnd.out.AutorityRecordFileWriter.java
License:Open Source License
/** * Loop over all entries in the repository to write them to the output file *//*from www.ja va2 s . c o m*/ private void listAllEntries() { String cursorMark = "*"; String nextCursorMark = null; QueryResponse rsp = null; SolrQuery query = new SolrQuery("id:*"); query.setRows(Integer.valueOf(config.getProperty("StepSizeForExport", "100"))); query.setSort(SortClause.asc("id")); do { // start with '*' in the first iteration, then use the last position if (nextCursorMark != null) { cursorMark = nextCursorMark; } // use the last position as new start value. query.set("cursorMark", new String[] { cursorMark }); if (LOG.isTraceEnabled()) { LOG.trace(query.toString()); } // execute the query try { rsp = server.query(query); if (rsp.getStatus() != 0) throw new SolrServerException("Responsestatus: " + rsp.getStatus()); } catch (SolrServerException | IOException e) { e.printStackTrace(); throw new RuntimeException("The index can't eval \"" + query.toString() + "\".", e); } nextCursorMark = rsp.getNextCursorMark(); // get the results of partial results List<AuthorityBean> partialResults = rsp.getBeans(AuthorityBean.class); if (LOG.isTraceEnabled()) LOG.trace(partialResults.size() + " records in this packet"); // loop over the results for (AuthorityBean entry : partialResults) { if (LOG.isTraceEnabled()) LOG.trace("Bearbeite: " + entry.id); printOut(entry); if ((maxCount != Integer.MAX_VALUE) && (count >= maxCount)) return; // optional exit for debug purposes } out.flush(); } while (!cursorMark.equals(nextCursorMark)); }
From source file:net.yacy.search.index.ErrorCache.java
License:Open Source License
public ErrorCache(final Fulltext fulltext) { this.fulltext = fulltext; this.cache = new LinkedHashMap<String, CollectionConfiguration.FailDoc>(); // concurrently fill stack with latest values new Thread() { @Override/*from w w w .j ava 2s . c o m*/ public void run() { final SolrQuery params = new SolrQuery(); params.setParam("defType", "edismax"); params.setStart(0); params.setRows(1000); params.setFacet(false); params.setSort( new SortClause(CollectionSchema.last_modified.getSolrFieldName(), SolrQuery.ORDER.desc)); params.setFields(CollectionSchema.id.getSolrFieldName()); params.setQuery( CollectionSchema.failreason_s.getSolrFieldName() + AbstractSolrConnector.CATCHALL_DTERM); params.set(CommonParams.DF, CollectionSchema.id.getSolrFieldName()); // DisMaxParams.QF or CommonParams.DF must be given SolrDocumentList docList; try { docList = fulltext.getDefaultConnector().getDocumentListByParams(params); if (docList != null) for (int i = docList.size() - 1; i >= 0; i--) { SolrDocument doc = docList.get(i); String hash = (String) doc.getFieldValue(CollectionSchema.id.getSolrFieldName()); cache.put(hash, null); } } catch (IOException e) { ConcurrentLog.logException(e); } } }.start(); }
From source file:net.yacy.search.index.ErrorCacheFiller.java
License:Open Source License
/** * Fills the error cache with recently failed document hashes found in the index *//*from ww w . j a v a2 s . c om*/ @Override public void run() { final SolrQuery params = new SolrQuery(); params.setParam("defType", "edismax"); params.setStart(0); params.setRows(1000); params.setFacet(false); params.setSort(new SortClause(CollectionSchema.load_date_dt.getSolrFieldName(), SolrQuery.ORDER.desc)); // load_date_dt = faildate params.setFields(CollectionSchema.id.getSolrFieldName()); params.setQuery(CollectionSchema.failreason_s.getSolrFieldName() + AbstractSolrConnector.CATCHALL_DTERM); params.set(CommonParams.DF, CollectionSchema.id.getSolrFieldName()); // DisMaxParams.QF or CommonParams.DF must be given SolrDocumentList docList; try { docList = this.sb.index.fulltext().getDefaultConnector().getDocumentListByParams(params); if (docList != null) for (int i = docList.size() - 1; i >= 0; i--) { SolrDocument doc = docList.get(i); String hash = (String) doc.getFieldValue(CollectionSchema.id.getSolrFieldName()); cache.putHashOnly(hash); } } catch (IOException e) { ConcurrentLog.logException(e); } }