@RequestMapping(value = "/userCollections/{userId}", method = RequestMethod.GET) public String fetchUserCollections(@PathVariable final String userId, @RequestParam(value = "first", defaultValue = "0") final int first, @RequestParam(value = "pageSize", defaultValue = "20") final int pageSize, Model model) { FulltextSearchResults searchResults = performSearch(Collections.singletonMap(FIELD_USER_UID, userId), first, pageSize); List<SimpleCollectionData> result = transform(searchResults.getResults()); PageListCreator pageListCreator = new PageListCreator(10); PageList pageList = pageListCreator.createPageList(first, pageSize, searchResults.getCount()); model.addAttribute("collections", result); model.addAttribute("pageList", pageList); model.addAttribute("first", first); model.addAttribute("pageSize", pageSize); model.addAttribute("totalCount", searchResults.getCount()); model.addAttribute("queryElementId", userId); return "platform/store/userCollection"; }
private Map<String, WeightedElement<String>> getElementsFromIndex(String facetField, String queryField, SearchCriterion criterion, SuggestionsQuery query) { Map<String, WeightedElement<String>> elements = new HashMap<>(); FulltextSearchResults result = getFacet(facetField, criterion, query); FacetResult facetResult = result.getFacetResult(); FieldFacetResult fieldFacetResult = facetResult.getFieldFacetResult(facetField); int size = result.getCount(); int weightMultiplier = QUERY_FIELD_MULTIPLIERS.get(queryField); for (Entry<String, Long> facetEntry : fieldFacetResult.getValues().entrySet()) { double ratio = ((double) facetEntry.getValue()) / size; WeightedElement<String> element = new WeightedElement<String>(facetEntry.getKey(), (int) (ratio * weightMultiplier)); elements.put(element.getValue(), element); } return elements; }
private int addLinesByInterval(final StatsWriter writer, String dataset, final int beg, final int size) throws IOException { FulltextSearchResults results = statisticsGenerationUtils.fetchResultLines(dataset, beg, size); for (final FulltextSearchResult fulltextSearchResult : results.getResults()) { writer.saveSingleLine(statisticsGenerationUtils.transformToStats(fulltextSearchResult)); } logger.debug("Processed " + (beg + size) + " of " + results.getCount()); return results.getSize(); }
private void updateContext(FulltextSearchResults results) { cursorMark = results.getCursorMark(); baseIterator = results.getResults().iterator(); }
public SearchResult getFirstResult() { if (CollectionUtils.isEmpty(fulltextSearchResults.getResults())) { throw new RuntimeException("results list is empty"); } return new SearchResult(fulltextSearchResults.getResults().get(0)); }
@Override public SearchResultsProto convertFrom(final FulltextSearchResults fromObject) { Builder builder = SearchResultsProto.newBuilder(); builder.setCount(fromObject.getCount()); builder.setFirst(fromObject.getFirst()); for (FulltextSearchResult singleSearchResult : fromObject.getResults()) { SearchResultProto resultProto = transformSingleResult(singleSearchResult); builder.addResults(resultProto); } builder.setFacetResult(transformFacetResult(fromObject.getFacetResult())); return builder.build(); }
/** * Returns number of all records. Notice that it may * be much more than number of records in the results list. */ public int getCount() { return fulltextSearchResults.getCount(); }
FulltextSearchQuery query = new FulltextSearchQuery(start, searchedElementSize, resultsFormat, orderList, fieldCriterionList); FulltextSearchResults results = indexService.performSearch(query); for (final FulltextSearchResult fulltextSearchResult : results.getResults()) { for (final ResultField resultField : fulltextSearchResult.getFields()) { if (FIELD_EXID.equals(resultField.getName())) { readElements = results.getSize(); start+= readElements; } while (readElements > 0);
@Override public List<String> performSearch(FulltextSearchQuery searchQuery, String... excluded) { FulltextSearchResults searchResults = indexService.performSearch(searchQuery); FieldFacetResult facetResult = searchResults.getFacetResult() .getFieldFacetResult(PublicationIndexFieldConstants.FIELD_DATASET); List<String> results = new ArrayList<String>(); for (Map.Entry<String, Long> entry : facetResult.getValues().entrySet()) { if ( ! ArrayUtils.contains(excluded, entry.getKey())) { results.add(entry.getKey().toLowerCase()); } } return results; }
/** * Returns number of records in the results list. */ public int getSize() { return fulltextSearchResults.getSize(); }
protected FulltextSearchResult readNextResult(final SearchCriterion... searchCriterions) throws UnexpectedInputException, ParseException, NonTransientResourceException { FulltextSearchResult result = null; if (!bufferedResultIterator.hasNext()) { bufferedResultIterator = read(searchCriterions).getResults().iterator(); } if (bufferedResultIterator.hasNext()) { result = bufferedResultIterator.next(); } return result; }
@Override public Integer read() throws Exception, UnexpectedInputException, ParseException, NonTransientResourceException { Integer resultsAmount = null; if (!amountAlreadyReturned) { resultsAmount = read(new FieldCriterion(fieldCriterionKey, fieldCriterionValue, SearchOperator.AND)) .getCount(); amountAlreadyReturned = true; } return resultsAmount; } }
public Map<String, Long> getFieldFacetResult(String field) { Map<String, Long> result = Collections.emptyMap(); FacetResult facetResult = fulltextSearchResults.getFacetResult(); if (result != null) { FieldFacetResult fieldFacet = facetResult.getFieldFacetResult(field); if (fieldFacet != null) { result = fieldFacet.getValues(); } } return result; }
protected FulltextSearchResults read(final SearchCriterion... searchCriterions) throws UnexpectedInputException, ParseException, NonTransientResourceException { Assert.notNull(searchCriterions); ResultsFormat resultsFormat = new ResultsFormat(new ArrayList<FieldRequest>()); FulltextSearchQuery searchQuery = new FulltextSearchQuery(amountOfReadItems, bufferSize, resultsFormat, searchCriterions); FulltextSearchResults results = fulltextIndexService.performSearch(searchQuery); amountOfReadItems += results.getSize(); return results; }
@RequestMapping(value = "/collectionContent/{id:.+}", method = RequestMethod.GET) public String fetchUserData(@PathVariable final String id, @RequestParam(defaultValue=MODE_CONTENT) final String mode, @RequestParam(value="first", defaultValue="0") final int first, @RequestParam(value="pageSize", defaultValue="20") final int pageSize, Model model) throws IOException { FulltextSearchResults searchResults = performSearch(id, first, pageSize, mode); List<CollectionContentData> result; if (MODE_IN_COLLECTION.equals(mode)) { result = transformCollections(searchResults.getResults()); } else { result = transformContent(searchResults.getResults()); } PageListCreator pageListCreator = new PageListCreator(10); PageList pageList = pageListCreator.createPageList(first, pageSize, searchResults.getCount()); model.addAttribute("collectionContents", result); model.addAttribute("pageList", pageList); model.addAttribute("first", first); model.addAttribute("pageSize", pageSize); model.addAttribute("totalCount", searchResults.getCount()); model.addAttribute("mode", mode); model.addAttribute("queryElementId", id); return "platform/store/collection/content"; }
FulltextSearchResults results = indexService.performSearch(query); long queryDur = System.currentTimeMillis() - queryStart; for (final FulltextSearchResult fulltextSearchResult : results.getResults()) { for (final ResultField resultField : fulltextSearchResult.getFields()) { if (FIELD_EXID.equals(resultField.getName())) { readElements = results.getSize(); start+= readElements; System.out.println(start+"/"+results.getCount()+".fixed = "+fixed+", querytime="+queryDur+"ms"); } while (readElements > 0);
/** * Returns the list of SearchResult records * @return never returns null */ public List<SearchResult> getResults() { List<SearchResult> results = Lists.newArrayList(); for (FulltextSearchResult ftResult : fulltextSearchResults.getResults()) { results.add(new SearchResult(ftResult)); } return results; }
@RequestMapping(value = USER_DELETE_FORM, method = RequestMethod.GET) public String userDeleteHandlerGet(Model model) { UserProfile userProfile = userBusinessService.getCurrentUserProfile(); if (userProfile == null) { throw new UserProfileNotSetException(); } FulltextSearchResults groups = userGroupSearcher.getResources(userProfile.getId()); if (groups.getCount() > 0) { notificationService.publishLocalizedNotification(NotificationLevel.WARN, MessageConstants.USER_IS_ADMIN_OF_GROUPS); model.addAttribute("unDeletedGroups", true); } UserDeleteForm form = new UserDeleteForm(); if (captchaEnabled) { form.setShowCaptcha(true); } model.addAttribute(COMMAND_OBJECT, form); return USER_DELETE_FORM; }
private void tryFacet() { int batchSize = 1; ResultsFormat resultsFormat = new ResultsFormat(new FieldRequest(pl.edu.icm.synat.logic.index.publication.CollectionIndexFieldConstants.FIELD_EXID, true)); FulltextSearchQuery searchQuery = null; searchQuery = new FulltextSearchQuery(0, batchSize, resultsFormat, new FieldCriterion("*", "*", SearchOperator.AND)); Facet facet = new Facet(); facet.addFieldFacet(PublicationIndexFieldConstants.FIELD_TYPE); searchQuery.setFacet(facet); FulltextSearchResults searchResults = indexService.performSearch(searchQuery); FieldFacetResult facetResult = searchResults.getFacetResult().getFieldFacetResult(PublicationIndexFieldConstants.FIELD_TYPE); Set<Entry<String,Long>> entrySet = facetResult.getValues().entrySet(); for (Entry<String, Long> entry : entrySet) { System.out.println("["+entry.getKey()+"]="+entry.getValue()); } }
List<SimpleCollectionData> result = transform(searchResults.getResults()); PageList pageList = pageListCreator.createPageList(first, pageSize, searchResults.getCount()); model.addAttribute("first", first); model.addAttribute("pageSize", pageSize); model.addAttribute("totalCount", searchResults.getCount());