List of usage examples for org.apache.solr.client.solrj SolrQuery setStart
public SolrQuery setStart(Integer start)
From source file:ddf.catalog.source.solr.SolrMetacardClient.java
License:Open Source License
protected SolrQuery getSolrQuery(QueryRequest request, SolrFilterDelegate solrFilterDelegate) throws UnsupportedQueryException { solrFilterDelegate.setSortPolicy(request.getQuery().getSortBy()); SolrQuery query = filterAdapter.adapt(request.getQuery(), solrFilterDelegate); // Solr does not support outside parenthesis in certain queries and throws EOF exception. String queryPhrase = query.getQuery().trim(); if (queryPhrase.matches("\\(\\s*\\{!.*\\)")) { query.setQuery(queryPhrase.replaceAll("^\\(\\s*|\\s*\\)$", "")); }//from w w w . j ava 2 s . c o m if (LOGGER.isDebugEnabled()) { LOGGER.debug("Prepared Query: {}", query.getQuery()); if (query.getFilterQueries() != null && query.getFilterQueries().length > 0) { LOGGER.debug("Filter Queries: {}", Arrays.toString(query.getFilterQueries())); } } if (request.getQuery().getPageSize() < 1) { query.setRows(Integer.MAX_VALUE); } else { query.setRows(request.getQuery().getPageSize()); } /* Start Index */ if (request.getQuery().getStartIndex() < 1) { throw new UnsupportedQueryException("Start index must be greater than 0"); } // Solr is 0-based query.setStart(request.getQuery().getStartIndex() - 1); return query; }
From source file:ddf.catalog.source.solr.SolrMetacardClientImpl.java
License:Open Source License
protected SolrQuery postAdapt(QueryRequest request, SolrFilterDelegate filterDelegate, SolrQuery query) throws UnsupportedQueryException { if (LOGGER.isDebugEnabled()) { LOGGER.debug("Prepared Query: {}", query.getQuery()); if (query.getFilterQueries() != null && query.getFilterQueries().length > 0) { LOGGER.debug("Filter Queries: {}", Arrays.toString(query.getFilterQueries())); }/*from w w w. j a va 2 s . c o m*/ } if (request.getQuery().getPageSize() < 1) { //TODO: Needs to pass in something else. query.setRows(Integer.MAX_VALUE); } else { query.setRows(request.getQuery().getPageSize()); } /* Start Index */ if (request.getQuery().getStartIndex() < 1) { throw new UnsupportedQueryException("Start index must be greater than 0"); } // Solr is 0-based query.setStart(request.getQuery().getStartIndex() - 1); setSortProperty(request, query, filterDelegate); return query; }
From source file:de.dlr.knowledgefinder.webapp.webservice.solr.query.AbstractSolrQueryFactory.java
License:Apache License
private void setStartForSolrQuery(SolrQuery solrQuery, String start) { try {//from w w w.ja v a2s. co m int startInt = Integer.parseInt(start); if (startInt >= 0) { solrQuery.setStart(startInt); } } catch (NumberFormatException e) { } }
From source file:de.fatalix.book.importer.SolrHandler.java
License:Open Source License
public static QueryResponse searchSolrIndex(SolrServer solr, String queryString, int rows, int startOffset) throws SolrServerException { SolrQuery query = new SolrQuery(); query.setQuery(queryString);/*from w w w . ja va2s. c om*/ query.setRows(rows); query.setStart(startOffset); QueryResponse rsp = solr.query(query); return rsp; }
From source file:de.fatalix.bookery.bl.solr.SolrHandler.java
License:Open Source License
public QueryResponse searchSolrIndex(String queryString, String fields, int rows, int startOffset) throws SolrServerException { SolrServer solr = null;//from w w w. ja v a 2s . c o m try { solr = bookeryService.getSolrConnection(); } catch (IOException ex) { throw new SolrServerException(ex.getMessage()); } SolrQuery query = new SolrQuery(); query.setQuery(queryString); query.setRows(rows); query.setStart(startOffset); query.setFields(fields); QueryResponse rsp = solr.query(query); return rsp; }
From source file:de.fatalix.bookery.bl.solr.SolrHandler.java
License:Open Source License
public QueryResponse searchSolrIndexSorted(String queryString, String fields, int rows, int startOffset, String sortField) throws SolrServerException { SolrServer solr = null;/*from www . jav a 2 s . c om*/ try { solr = bookeryService.getSolrConnection(); } catch (IOException ex) { throw new SolrServerException(ex.getMessage()); } SolrQuery query = new SolrQuery(); query.setQuery(queryString); query.setRows(rows); query.setStart(startOffset); query.setSort(sortField, SolrQuery.ORDER.desc); query.setFields(fields); QueryResponse rsp = solr.query(query); return rsp; }
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; }//from w ww. j a v a2 s . c om 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 ww w . ja v a 2 s . c om*/ 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.common.BookSearchLayout.java
License:Open Source License
public void searchBooks(SolrQuery query, boolean reset) { try {/*ww w. jav a 2 s .co m*/ String user = SecurityUtils.getSubject().getPrincipals().toString(); this.query = query; if (reset) { resultLayout.removeAllComponents(); } query.setStart(resultLayout.getComponentCount()); QueryResponse queryResponse = presenter.searchBooks(query, user); if (reset) { resultText.setValue(queryResponse.getResults().getNumFound() + " Ergebnisse mit \"" + appHeader.getSearchText() + "\" gefunden."); } List<BookEntry> bookEntries = queryResponse.getBeans(BookEntry.class); for (BookEntry bookEntry : bookEntries) { resultLayout.addComponent(createBookCoverLayout(bookEntry)); } showMore.setEnabled(queryResponse.getResults().getNumFound() > resultLayout.getComponentCount()); } catch (SolrServerException ex) { Notification.show(ex.getMessage(), Notification.Type.WARNING_MESSAGE); logger.error(ex, ex); } }
From source file:de.fatalix.bookery.view.home.HomeView.java
License:Open Source License
@Override public void enter(ViewChangeListener.ViewChangeEvent event) { try {//from w w w . j a v a2 s . co 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); } }