Получить начальный и конечный индекс выделенного фрагмента в искомом поле - PullRequest
3 голосов
/ 13 мая 2010

«Мой поиск возвращает выделенный фрагмент из поля. Я хочу знать, где в этом поле конкретного искомого документа начинается и заканчивается этот фрагмент?»

например.

рассмотрите, я ищу " выделенный фрагмент " в вышеприведенных строках (рассмотрите вышеупомянутый пункт как один документ).

Я устанавливаю свой фрагментатор как:

SimpleFragmenter fragmenter = 
            new SimpleFragmenter(30);

теперь вывод GetBestFragment выглядит примерно так: « возвращает выделенный фрагмент из »

Возможно ли получить начальный и конечный индексы этого фрагмента в тексте выше (скажем, начало - 10, а конец - 45)

Ответы [ 2 ]

1 голос
/ 13 мая 2010

Маркер не возвращает эту информацию, когда вы используете методы getBestFragment. За сценой Маркер использует класс TokenGroup чтобы получить начальный и конечный индекс каждого фрагмента. Возможно, вы могли бы использовать этот класс.

0 голосов
/ 13 мая 2010

Я сделал это несколько месяцев назад.Вы должны создать пользовательский Formatter и Encoder .По сути, в маркере форматировщик обрабатывает токены, выбранные для подсветки, а кодировщик обрабатывает остальные токены.В вашем случае вам нужно, чтобы кодер выдавал пустой каждый раз, когда он вызывался, и форматер, чтобы выдавать начальный индекс и конечный индекс.Они действительно хранятся в TokenGroup выделенных частей.Ваш маркер должен быть создан с использованием этих пользовательских форматера и кодировщика.

...