@Override public String toString() { return name().toLowerCase(Locale.ROOT); } }
protected BreakIterator getBreakIterator(SearchContextHighlight.Field field) { final SearchContextHighlight.FieldOptions fieldOptions = field.fieldOptions(); final Locale locale = fieldOptions.boundaryScannerLocale() != null ? fieldOptions.boundaryScannerLocale() : Locale.ROOT; final HighlightBuilder.BoundaryScannerType type = fieldOptions.boundaryScannerType() != null ? fieldOptions.boundaryScannerType() : HighlightBuilder.BoundaryScannerType.SENTENCE; int maxLen = fieldOptions.fragmentCharSize(); switch (type) { case SENTENCE: if (maxLen > 0) { return BoundedBreakIteratorScanner.getSentence(locale, maxLen); } return BreakIterator.getSentenceInstance(locale); case WORD: // ignore maxLen return BreakIterator.getWordInstance(locale); default: throw new IllegalArgumentException("Invalid boundary scanner type: " + type.toString()); } }
public static BoundaryScannerType fromString(String boundaryScannerType) { return valueOf(boundaryScannerType.toUpperCase(Locale.ROOT)); }
builder.field(BOUNDARY_SCANNER_FIELD.getPreferredName(), boundaryScannerType.name());
builder.field(BOUNDARY_SCANNER_FIELD.getPreferredName(), boundaryScannerType.name());
builder.field(BOUNDARY_SCANNER_FIELD.getPreferredName(), boundaryScannerType.name());
private static BoundaryScanner getBoundaryScanner(Field field) { final FieldOptions fieldOptions = field.fieldOptions(); final Locale boundaryScannerLocale = fieldOptions.boundaryScannerLocale() != null ? fieldOptions.boundaryScannerLocale() : Locale.ROOT; final HighlightBuilder.BoundaryScannerType type = fieldOptions.boundaryScannerType() != null ? fieldOptions.boundaryScannerType() : HighlightBuilder.BoundaryScannerType.CHARS; switch(type) { case SENTENCE: if (boundaryScannerLocale != null) { return new BreakIteratorBoundaryScanner(BreakIterator.getSentenceInstance(boundaryScannerLocale)); } return DEFAULT_SENTENCE_BOUNDARY_SCANNER; case WORD: if (boundaryScannerLocale != null) { return new BreakIteratorBoundaryScanner(BreakIterator.getWordInstance(boundaryScannerLocale)); } return DEFAULT_WORD_BOUNDARY_SCANNER; case CHARS: if (fieldOptions.boundaryMaxScan() != SimpleBoundaryScanner.DEFAULT_MAX_SCAN || fieldOptions.boundaryChars() != SimpleBoundaryScanner.DEFAULT_BOUNDARY_CHARS) { return new SimpleBoundaryScanner(fieldOptions.boundaryMaxScan(), fieldOptions.boundaryChars()); } return DEFAULT_SIMPLE_BOUNDARY_SCANNER; default: throw new IllegalArgumentException("Invalid boundary scanner type: " + type.toString()); } }
private static BoundaryScanner getBoundaryScanner(Field field) { final FieldOptions fieldOptions = field.fieldOptions(); final Locale boundaryScannerLocale = fieldOptions.boundaryScannerLocale() != null ? fieldOptions.boundaryScannerLocale() : Locale.ROOT; final HighlightBuilder.BoundaryScannerType type = fieldOptions.boundaryScannerType() != null ? fieldOptions.boundaryScannerType() : HighlightBuilder.BoundaryScannerType.CHARS; switch(type) { case SENTENCE: if (boundaryScannerLocale != null) { return new BreakIteratorBoundaryScanner(BreakIterator.getSentenceInstance(boundaryScannerLocale)); } return DEFAULT_SENTENCE_BOUNDARY_SCANNER; case WORD: if (boundaryScannerLocale != null) { return new BreakIteratorBoundaryScanner(BreakIterator.getWordInstance(boundaryScannerLocale)); } return DEFAULT_WORD_BOUNDARY_SCANNER; case CHARS: if (fieldOptions.boundaryMaxScan() != SimpleBoundaryScanner.DEFAULT_MAX_SCAN || fieldOptions.boundaryChars() != SimpleBoundaryScanner.DEFAULT_BOUNDARY_CHARS) { return new SimpleBoundaryScanner(fieldOptions.boundaryMaxScan(), fieldOptions.boundaryChars()); } return DEFAULT_SIMPLE_BOUNDARY_SCANNER; default: throw new IllegalArgumentException("Invalid boundary scanner type: " + type.toString()); } }
private static BoundaryScanner getBoundaryScanner(Field field) { final FieldOptions fieldOptions = field.fieldOptions(); final Locale boundaryScannerLocale = fieldOptions.boundaryScannerLocale() != null ? fieldOptions.boundaryScannerLocale() : Locale.ROOT; final HighlightBuilder.BoundaryScannerType type = fieldOptions.boundaryScannerType() != null ? fieldOptions.boundaryScannerType() : HighlightBuilder.BoundaryScannerType.CHARS; switch(type) { case SENTENCE: if (boundaryScannerLocale != null) { return new BreakIteratorBoundaryScanner(BreakIterator.getSentenceInstance(boundaryScannerLocale)); } return DEFAULT_SENTENCE_BOUNDARY_SCANNER; case WORD: if (boundaryScannerLocale != null) { return new BreakIteratorBoundaryScanner(BreakIterator.getWordInstance(boundaryScannerLocale)); } return DEFAULT_WORD_BOUNDARY_SCANNER; case CHARS: if (fieldOptions.boundaryMaxScan() != SimpleBoundaryScanner.DEFAULT_MAX_SCAN || fieldOptions.boundaryChars() != SimpleBoundaryScanner.DEFAULT_BOUNDARY_CHARS) { return new SimpleBoundaryScanner(fieldOptions.boundaryMaxScan(), fieldOptions.boundaryChars()); } return DEFAULT_SIMPLE_BOUNDARY_SCANNER; default: throw new IllegalArgumentException("Invalid boundary scanner type: " + type.toString()); } }
protected BreakIterator getBreakIterator(SearchContextHighlight.Field field) { final SearchContextHighlight.FieldOptions fieldOptions = field.fieldOptions(); final Locale locale = fieldOptions.boundaryScannerLocale() != null ? fieldOptions.boundaryScannerLocale() : Locale.ROOT; final HighlightBuilder.BoundaryScannerType type = fieldOptions.boundaryScannerType() != null ? fieldOptions.boundaryScannerType() : HighlightBuilder.BoundaryScannerType.SENTENCE; int maxLen = fieldOptions.fragmentCharSize(); switch (type) { case SENTENCE: if (maxLen > 0) { return BoundedBreakIteratorScanner.getSentence(locale, maxLen); } return BreakIterator.getSentenceInstance(locale); case WORD: // ignore maxLen return BreakIterator.getWordInstance(locale); default: throw new IllegalArgumentException("Invalid boundary scanner type: " + type.toString()); } }
private BreakIterator getBreakIterator(SearchContextHighlight.Field field) { final SearchContextHighlight.FieldOptions fieldOptions = field.fieldOptions(); final Locale locale = fieldOptions.boundaryScannerLocale() != null ? fieldOptions.boundaryScannerLocale() : Locale.ROOT; final HighlightBuilder.BoundaryScannerType type = fieldOptions.boundaryScannerType() != null ? fieldOptions.boundaryScannerType() : HighlightBuilder.BoundaryScannerType.SENTENCE; int maxLen = fieldOptions.fragmentCharSize(); switch (type) { case SENTENCE: if (maxLen > 0) { return BoundedBreakIteratorScanner.getSentence(locale, maxLen); } return BreakIterator.getSentenceInstance(locale); case WORD: // ignore maxLen return BreakIterator.getWordInstance(locale); default: throw new IllegalArgumentException("Invalid boundary scanner type: " + type.toString()); } }
public static BoundaryScannerType fromString(String boundaryScannerType) { return valueOf(boundaryScannerType.toUpperCase(Locale.ROOT)); }
@Override public String toString() { return name().toLowerCase(Locale.ROOT); } }
public static BoundaryScannerType fromString(String boundaryScannerType) { return valueOf(boundaryScannerType.toUpperCase(Locale.ROOT)); }
/** * When using the highlighterType <tt>fvh</tt> this setting * controls which scanner to use for fragment boundaries, and defaults to "simple". */ @SuppressWarnings("unchecked") public HB boundaryScannerType(String boundaryScannerType) { this.boundaryScannerType = BoundaryScannerType.fromString(boundaryScannerType); return (HB) this; }
public static BoundaryScannerType fromString(String boundaryScannerType) { return valueOf(boundaryScannerType.toUpperCase(Locale.ROOT)); }
/** * When using the highlighterType {@code fvh} this setting * controls which scanner to use for fragment boundaries, and defaults to "simple". */ @SuppressWarnings("unchecked") public HB boundaryScannerType(String boundaryScannerType) { this.boundaryScannerType = BoundaryScannerType.fromString(boundaryScannerType); return (HB) this; }
@Override public String toString() { return name().toLowerCase(Locale.ROOT); } }
/** * When using the highlighterType {@code fvh} this setting * controls which scanner to use for fragment boundaries, and defaults to "simple". */ @SuppressWarnings("unchecked") public HB boundaryScannerType(String boundaryScannerType) { this.boundaryScannerType = BoundaryScannerType.fromString(boundaryScannerType); return (HB) this; }
@Override public String toString() { return name().toLowerCase(Locale.ROOT); } }