private void addLocationScopeFilter(DiscoverQuery query) { if (containerID != null) { if (containerIDField.startsWith("collection")) { query.addFilterQueries("location.coll:" + containerID); } else if (containerIDField.startsWith("community")) { query.addFilterQueries("location.comm:" + containerID); } } }
public DiscoverResult search(Context context, DSpaceObject dso, DiscoverQuery discoveryQuery) throws SearchServiceException { if(dso != null){ if (dso instanceof Community) { discoveryQuery.addFilterQueries("location:m" + dso.getID()); } else if (dso instanceof Collection) { discoveryQuery.addFilterQueries("location:l" + dso.getID()); } else if (dso instanceof Item){ discoveryQuery.addFilterQueries("handle:" + dso.getHandle()); } } return search(context, discoveryQuery); }
@Override public InputStream searchJSON(Context context, DiscoverQuery query, DSpaceObject dso, String jsonIdentifier) throws SearchServiceException { if (dso != null) { if (dso instanceof Community) { query.addFilterQueries("location:m" + dso.getID()); } else if (dso instanceof Collection) { query.addFilterQueries("location:l" + dso.getID()); } else if (dso instanceof Item) { query.addFilterQueries(HANDLE_FIELD + ":" + dso.getHandle()); } } return searchJSON(context, query, jsonIdentifier); }
@Override public DiscoverResult search(Context context, DSpaceObject dso, DiscoverQuery discoveryQuery, boolean includeUnDiscoverable) throws SearchServiceException { if (dso != null) { if (dso instanceof Community) { discoveryQuery.addFilterQueries("location:m" + dso.getID()); } else if (dso instanceof Collection) { discoveryQuery.addFilterQueries("location:l" + dso.getID()); } else if (dso instanceof Item) { discoveryQuery.addFilterQueries(HANDLE_FIELD + ":" + dso.getHandle()); } } return search(context, discoveryQuery, includeUnDiscoverable); }
@Override public InputStream searchJSON(DiscoverQuery query, DSpaceObject dso, String jsonIdentifier) throws SearchServiceException { if(dso != null){ if (dso instanceof Community) { query.addFilterQueries("location:m" + dso.getID()); } else if (dso instanceof Collection) { query.addFilterQueries("location:l" + dso.getID()); } else if (dso instanceof Item){ query.addFilterQueries("handle:" + dso.getHandle()); } } return searchJSON(query, jsonIdentifier); }
private void addStatusFilter(DiscoverQuery query) { if (itemsWithdrawn) { query.addFilterQueries("withdrawn:true"); } else if (!itemsDiscoverable) { query.addFilterQueries("discoverable:false"); // TODO try { if (!authorizeService.isAdmin(context) && (authorizeService.isCommunityAdmin(context) || authorizeService.isCollectionAdmin(context))) { query.addFilterQueries(searcher.createLocationQueryForAdministrableItems(context)); } } catch (SQLException ex) { log.error(ex); } } }
discoverQuery.addFilterQueries("dc.type=" + type + "*"); discoverQuery.addFilterQueries(accessionedQuery.toString()); discoverQuery.addFilterQueries("withdrawn: false"); discoverQuery.addFilterQueries("archived: true");
addStatusFilter(query); query.setMaxResults(0); query.addFilterQueries("search.resourcetype:" + Constants.ITEM); query.addFilterQueries("{!field f=" + facetField + "_authority_filter}" + authority); } else if (this.value != null && !valuePartial) { query.addFilterQueries("{!field f=" + facetField + "_value_filter}" + this.value); } else if (valuePartial) { query.addFilterQueries("{!field f=" + facetField + "_partial}" + this.value); } else { query.setQuery("bi_" + column + "_sort" + ": {\"" + value + "\" TO *]"); query.addFilterQueries("-(bi_" + column + "_sort" + ":" + value + "*)");
private void calculateNewRangeBasedOnSearchIndex(Context context, List<String> filterQueries, DSpaceObject scope, SearchService searchService) throws SearchServiceException { DiscoverQuery yearRangeQuery = new DiscoverQuery(); yearRangeQuery.setMaxResults(1); //Set our query to anything that has this value yearRangeQuery.addFieldPresentQueries(dateFacet); //Set sorting so our last value will appear on top yearRangeQuery.setSortField(dateFacet + "_sort", DiscoverQuery.SORT_ORDER.asc); yearRangeQuery.addFilterQueries(filterQueries.toArray(new String[filterQueries.size()])); yearRangeQuery.addSearchField(dateFacet); DiscoverResult lastYearResult = searchService.search(context, scope, yearRangeQuery); if (0 < lastYearResult.getDspaceObjects().size()) { List<DiscoverResult.SearchDocument> searchDocuments = lastYearResult .getSearchDocument(lastYearResult.getDspaceObjects().get(0)); if (0 < searchDocuments.size() && 0 < searchDocuments.get(0).getSearchFieldValues(dateFacet).size()) { oldestYear = Integer.parseInt(searchDocuments.get(0).getSearchFieldValues(dateFacet).get(0)); } } //Now get the first year yearRangeQuery.setSortField(dateFacet + "_sort", DiscoverQuery.SORT_ORDER.desc); DiscoverResult firstYearResult = searchService.search(context, scope, yearRangeQuery); if (0 < firstYearResult.getDspaceObjects().size()) { List<DiscoverResult.SearchDocument> searchDocuments = firstYearResult .getSearchDocument(firstYearResult.getDspaceObjects().get(0)); if (0 < searchDocuments.size() && 0 < searchDocuments.get(0).getSearchFieldValues(dateFacet).size()) { newestYear = Integer.parseInt(searchDocuments.get(0).getSearchFieldValues(dateFacet).get(0)); } } }
/** * 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; }
query.addFilterQueries("{!field f=" + facetField + "_authority_filter}" + authority); } else if (value != null && !valuePartial) { query.addFilterQueries("{!field f=" + facetField + "_value_filter}" + value); } else if (valuePartial) { query.addFilterQueries("{!field f=" + facetField + "_partial}" + value); query.addFilterQueries("search.resourcetype:" + Constants.ITEM); if (orderField != null) { query.setSortField("bi_" + orderField + "_sort",
boolean nonAnon) throws SQLException, ParseException { DiscoverQuery discoverQuery = new DiscoverQuery(); discoverQuery.addFilterQueries("search.resourcetype:" + Constants.ITEM); discoverQuery.addFilterQueries("location:m" + scope.getID()); } else if (scope instanceof Collection) { discoverQuery.addFilterQueries("location:l" + scope.getID()); discoverQuery.addFilterQueries("lastModified:[" + new DCDate(startDate).toString() + " TO " + new DCDate(endDate).toString() + "]"); } else if (startDate != null) { discoverQuery.addFilterQueries("lastModified:[" + new DCDate(startDate).toString() + " TO *]"); } else if (endDate != null) { discoverQuery.addFilterQueries("lastModified:[* TO " + new DCDate(endDate).toString() + " ]"); discoverQuery.addFilterQueries("archived: true OR withdrawn: false"); } else { discoverQuery.addFilterQueries("archived: true OR withdrawn: true");
queryArgs.addFilterQueries(discoveryConfiguration.getDefaultFilterQueries().toArray(new String[discoveryConfiguration.getDefaultFilterQueries().size()])); queryArgs.addFilterQueries(filterQueries); yearRangeQuery.addFilterQueries(filterQueries); yearRangeQuery.addSearchField(dateFacet); DiscoverResult lastYearResult = getSearchService().search(context, scope, yearRangeQuery);
DiscoveryConfigurationParameters.TYPE_STANDARD, -1, DiscoveryConfigurationParameters.SORT.COUNT)); query.addFilterQueries("search.resourcetype:2"); // count only items query.addFilterQueries("NOT(discoverable:false)"); // only discoverable query.setMaxResults(0);
queryArgs.addFilterQueries(defaultFilterQueries.toArray(new String[defaultFilterQueries.size()])); queryArgs.addFilterQueries(getDiscoveryFilterQueries());
queryArgs.addFilterQueries(defaultFilterQueries.toArray(new String[defaultFilterQueries.size()])); queryArgs.setDSpaceObjectFilter(Constants.ITEM);
queryArgs.addFilterQueries(defaultFilterQueries.toArray(new String[defaultFilterQueries.size()])); queryArgs.addFilterQueries(filterQueries.toArray(new String[filterQueries.size()]));
DiscoverQuery.SORT_ORDER.asc ); queryArgs.addFilterQueries(getParameterFacetQueries());
queryArgs.addFilterQueries(request.getParameterValues("fq"));