2013-10-04 4 views
0

Есть ли способ с Lucene 4.4 определить, какие именно условия удовлетворяли запросу? Мне нужно выделить только те термины, которые привели к возврату документа, а не тот же термин в другом месте документа. Например, если документ:Определение точных терминов, удовлетворяющих запросу Lucene

We are going to visit the White House today. I hear it is painted white. 

и фразы запроса "white house", я хочу, чтобы выделить эти термины:

We are going to visit the <b>White</b> <b>House</b> today. I hear it is painted white. 

Я использую PostingsHighlighter, но он может выделить слово «белый» во втором предложении. Я не хочу этого, потому что единственный термин «белый» не удовлетворяет фразовому запросу.

Похоже, что единственная информация, которая возвращается из поиска, - это идентификаторы документов и оценки. Меня не интересуют оценки с целью ранжирования релевантности, потому что я буду работать со всеми возвращенными документами. Есть ли что-то, что я мог бы сделать с пользовательским подсчетом, который сохранил бы нужную мне информацию? Или есть лучший подход, который мне не хватает?

ответ

1

Это должно быть предполагаемое поведение от PostingsHighlighter (см. this discussion). Вместо этого вы можете использовать Highlighter.

+0

Спасибо, femtoRgon. Это сделало то, что я хотел. –

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