/** Returns id of document */ public String getDocId() { return fulltextSearchResult.getDocId(); }
/** * 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(); }
/** * Returns number of records in the results list. */ public int getSize() { return fulltextSearchResults.getSize(); }
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; }
@Override public boolean matches(PublicationMetadata template, ResultField field) { return passesSubsequence(template.getJournal(), field.getValues()); } }
@Override public boolean isApplicable(ResultField field) { return MetadataIndexConstants.F_AUTHOR_NORM.equals(field.getName()); }
private void updateContext(FulltextSearchResults results) { cursorMark = results.getCursorMark(); baseIterator = results.getResults().iterator(); }
private SimpleElementData transform(FulltextSearchResult searchResult) { String id = searchResult.getField(FIELD_EXID).getValues()[0]; String title = searchResult.getField(IndexSchemaFactoryUtils.getSortField(FIELD_NAME)).getValues()[0]; String type = searchResult.getField(FIELD_TYPE).getValues()[0]; DateTime creation = DateTime.parse(searchResult.getField(FIELD_DATE + SEP + "creationTimestamp").getValues()[0]); return new SimpleElementData(id, title, type, creation.toDate()); }
/** * Returns immutable list of ResultFields * @return never returns null */ public List<ResultField> getFields() { return ImmutableList.copyOf(fulltextSearchResult.getFields()); }
/** Returns score of document */ public float getScore() { return fulltextSearchResult.getScore(); }
private List<String> composeTerms(final String base, final SuggestionResults suggestions) { List<String> terms = new LinkedList<String>(); for (SuggestionResult suggestion : suggestions.getSuggestions()) { terms.add(base+suggestion.getToken()); } return terms; }
@Override public boolean matches(PublicationMetadata template, ResultField field) { return passesSubsequence(template.getVolume(), field.getValues()); } }
@Override public boolean isApplicable(ResultField field) { return MetadataIndexConstants.F_YEAR.equals(field.getName()); }
protected boolean itemMatches(FulltextSearchResult result, PublicationMetadata template, ResultMatcher[] matchers) { for (ResultField field : result.getFields()) { for (ResultMatcher matcher : matchers) { if (matcher.isApplicable(field) && !matcher.matches(template, field)) return false; } } return true; }
@Override public boolean matches(PublicationMetadata template, ResultField field) { return passesSimilarity(template.getTitle(), field.getValues()); } }
@Override public boolean isApplicable(ResultField field) { return MetadataIndexConstants.F_JOURNAL_TITLE.equals(field.getName()); }
@Override public boolean matches(PublicationMetadata template, ResultField field) { return passesSubsequence(template.getNumber(), field.getValues()); } }
@Override public boolean isApplicable(ResultField field) { return MetadataIndexConstants.F_VOLUME.equals(field.getName()); }
@Override public boolean matches(PublicationMetadata template, ResultField field) { return passesSubsequence(template.getYear(), field.getValues()); } }