Class PassageSelector


  • public class PassageSelector
    extends java.lang.Object
    Selects fragments of text that score best for the given set of highlight markers.
    • Field Detail

      • DEFAULT_SCORER

        public static final java.util.Comparator<Passage> DEFAULT_SCORER
      • passageScorer

        private final java.util.Comparator<Passage> passageScorer
    • Constructor Detail

      • PassageSelector

        public PassageSelector()
      • PassageSelector

        public PassageSelector​(java.util.Comparator<Passage> passageScorer,
                               PassageAdjuster passageAdjuster)
    • Method Detail

      • pickBest

        public java.util.List<Passage> pickBest​(java.lang.CharSequence value,
                                                java.util.List<? extends OffsetRange> markers,
                                                int maxPassageWindow,
                                                int maxPassages)
      • pickBest

        public java.util.List<Passage> pickBest​(java.lang.CharSequence value,
                                                java.util.List<? extends OffsetRange> markers,
                                                int maxPassageWindow,
                                                int maxPassages,
                                                java.util.List<OffsetRange> permittedPassageRanges)
      • splitOrTruncateToWindows

        private java.util.List<? extends OffsetRange> splitOrTruncateToWindows​(java.util.List<? extends OffsetRange> markers,
                                                                               int maxPassageWindow,
                                                                               java.util.List<OffsetRange> permittedPassageRanges)
        Truncate or split highlight markers that cross permitted value boundaries.
      • sortedAndNonOverlapping

        static boolean sortedAndNonOverlapping​(java.util.List<? extends OffsetRange> permittedPassageRanges)
      • pickDefaultPassage

        protected Passage[] pickDefaultPassage​(java.lang.CharSequence value,
                                               int maxCharacterWindow,
                                               int maxPassages,
                                               java.util.List<OffsetRange> permittedPassageRanges)
        Invoked when no passages could be selected (due to constraints or lack of highlight markers).
      • adjecentOrOverlapping

        private static boolean adjecentOrOverlapping​(Passage a,
                                                     Passage b)