![]() |
|
![]() ![]() ![]() |
|
Ch0bits |
|
||||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: нет Всего: 62 |
Здравствуйте, коллеги!
Прикручиваю поиск к сайту и встала задача наглядно показывать результаты. С самим поиском проблем нет. Использую Sphinx. Но в результате нужно показать не весь текст найденного документа, а как в поисковиках, только те части, которые наиболее подходят по поисковому запросу. Sphinx умеет выдавать список с учетом морфологии, которые были учтены в документе при поиске. Умеет даже сам оборачивать их в нужный тег в тексте, но не выделять участки. Например:
Соответственно пользователь искал что-то типа: "Как мне СЛОВО1 в СЛОВО2 с СЛОВО3 над СЛОВО4?(которое не нашлось)" Использовался алгоритм BM25+Proximity Мне же нужно показать только пару отрывков исходного текста c фиксированной максимальной длиной, где поисковые слова встречаются наиболее близко друг от друга и их наиболее часто. Например:
Что-то типа кластеризации по словам и выдачи наиболее плотных групп. Ничего путного кроме переборов в голову не лезет :( А решение казалось бы должно быть очень простым. |
||||
|
|||||
Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: нет Всего: 62 |
Кажется я уже нашел как сделать это средствами самого Sphinx'а. Нужно использовать SELECT c функцией SNIPPET, которая делает тоже самое что BuildExcerpts, но применимо к конкретной строке результата http://sphinxsearch.com/docs/current.html#...c-buildexcerpts
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |