2011-12-13 2 views
0

Я знаю, как получить соответствующие выделенные фрагменты вместе с некоторым окружающим текстом с помощью Lucene фломастера, а именно, с помощьюlucene highlighter: как я могу получить фрагменты?

Highlighter highlighter = new Highlighter(scorer); 
String[] fragments = highlighter.getBestFragments(stream, fieldContents, fragmentNumber); 

Но я могу вместо этого получить указатели на эти фрагменты в исходном содержании? Другими словами, мне нужно знать, где эти фрагменты начинаются и, если возможно, заканчиваются.

+0

Может быть, эта ссылка может помочь HTTP://stackoverflow.com/questions/5549589/highlighting-whole-sentence-in-lucene-net-2-9-2 –

+0

Не уверен, поможет ли это, но спасибо за указатель в любом случае –

ответ

0

Если вы используете вместо этого метод GetBestTextFragments, вы получите массив из TextFragment s. Они имеют свойства textStartPos и textEndPos.

(. Они отмечены внутренние в Lucene.Net, который потребует от вас внести некоторые изменения в код, чтобы получить доступ к ним, я не уверен насчет Java Lucene.)

+0

Спасибо. Java Lucene 3.4.0 имеет метод GetBestTextFragments, который возвращает 'TextFragment []', но 'TextFragment' не дает доступа к какой-либо информации о местоположении. Кажется, это было в более ранних версиях Lucene - не знаю, почему это изменилось. –

Смежные вопросы