Как получить местоположение поисковых слов из поисковой системы Sphinx?

Я использую Sphinx для индексации HTML-страниц, придавая различный вес заголовку, описанию и т. д. Я ищу способ получить местоположение поисковых слов на странице из результатов, которые я получаю от Sphinx.

Это означает, что если набор слов является «программой переполнения стека», и у меня есть 5 совпадающих документов, каждый из них был совпадением, потому что он содержал хотя бы одно слово из набора слов.

Возникает вопрос: как узнать, где каждое слово было найдено в документе? Например, я хочу знать, возвращен ли документ 1, потому что он содержит «переполнение» в заголовке и «стек» в описании.

Я вижу, что результат возвращается с определенным весом (3780, например), но не могу из этого сделать вывод о том, какое слово где было найдено.

Большое спасибо!


person Nir    schedule 11.10.2010    source источник


Ответы (1)


Вам придется (каким-то образом) вернуть результаты программно, а затем вы можете вызвать BuildExcerpts в содержимом. Затем Sphinx предоставит вам блок HTML с относительными позициями найденного текста.

person Glen Solsberry    schedule 20.10.2010