@Override public String doMaxQuery(String column, String table, int itemID) throws BrowseException { DiscoverQuery query = new DiscoverQuery(); query.setQuery("search.resourceid:" + itemID + " AND search.resourcetype:" + Constants.ITEM); query.setMaxResults(1); DiscoverResult resp = null; try { resp = searcher.search(context, query); } catch (SearchServiceException e) { throw new BrowseException(e); } if (resp.getTotalSearchResults() > 0) { SearchDocument doc = resp.getSearchDocument( resp.getDspaceObjects().get(0)).get(0); return (String) doc.getSearchFieldValues(column).get(0); } return null; }
/** * Retrieves the lowest date value in the given field * @param query a solr query * @param dateField the field for which we want to retrieve our date * @param filterquery the filterqueries * @return the lowest date found, in a date object */ private Date getLowestDateValue(Context context, String query, String dateField, String... filterquery){ try { DiscoverQuery discoverQuery = new DiscoverQuery(); discoverQuery.setQuery(query); discoverQuery.setMaxResults(1); discoverQuery.setSortField(dateField, DiscoverQuery.SORT_ORDER.asc); discoverQuery.addFilterQueries(filterquery); DiscoverResult rsp = searchService.search(context, discoverQuery); // if(0 < rsp.getResults().getNumFound()){ // return (Date) rsp.getResults().get(0).getFieldValue(dateField); // } }catch (Exception e){ log.error("Unable to get lowest date", e); } return null; }
public void performSearch() throws SearchServiceException, UIException, SQLException { DSpaceObject dso = getScope(); queryArgs = getQueryArgs(context, dso, getAllFilterQueries()); //If we are on a search page performing a search a query may be used Request request = ObjectModelHelper.getRequest(objectModel); String query = request.getParameter("query"); if(query != null && !"".equals(query)){ queryArgs.setQuery(query); } //We do not need to retrieve any dspace objects, only facets queryArgs.setMaxResults(0); queryResults = getSearchService().search(context, dso, queryArgs); }
queryArgs.setQuery(((request.getParameter("query") != null && !"".equals(request.getParameter("query").trim())) ? request.getParameter("query") : null));
queryArgs.setQuery("search.resourcetype: " + Constants.ITEM + ((request.getParameter("query") != null && !"".equals(request.getParameter("query"))) ? " AND (" + request.getParameter("query") + ")" : ""));
queryArgs.setQuery(query != null && !query.trim().equals("") ? query : null);
queryArgs.setQuery(request.getParameter("q"));