Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск близких слов по тексту 
V
    Опции темы
Ch0bits
Дата 15.7.2015, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: нет
Всего: 62



Здравствуйте, коллеги!
Прикручиваю поиск к сайту и встала задача наглядно показывать результаты. С самим поиском проблем нет. Использую Sphinx. Но в результате нужно показать не весь текст найденного документа, а как в поисковиках, только те части, которые наиболее подходят по поисковому запросу. Sphinx умеет выдавать список с учетом морфологии, которые были учтены в документе при поиске. Умеет даже сам оборачивать их в нужный тег в тексте, но не выделять участки.
Например:
Код

Это исходный текст документа, где есть нужное нам СЛОВО1 а рядом с ним СЛОВО2 тут еще 1000 слов и СЛОВО1 СЛОВО2 и радом СЛОВО3 ну а в самом конце через 100 слов ещё СЛОВО2.

Соответственно пользователь искал что-то типа: "Как мне СЛОВО1 в СЛОВО2 с СЛОВО3 над СЛОВО4?(которое не нашлось)" Использовался алгоритм BM25+Proximity
Мне же нужно показать только пару отрывков исходного текста c фиксированной максимальной длиной, где поисковые слова встречаются наиболее близко друг от друга и их наиболее часто. Например:
Код

...нужное нам СЛОВО1 а рядом с ним СЛОВО2 тут...и СЛОВО1 СЛОВО2 и радом СЛОВО3 ну а в... 

Что-то типа кластеризации по словам и выдачи наиболее плотных групп. Ничего путного кроме переборов в голову не лезет :( А решение казалось бы должно быть очень простым.
PM WWW   Вверх
Ch0bits
Дата 15.7.2015, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: нет
Всего: 62



Кажется я уже нашел как сделать это средствами самого Sphinx'а. Нужно использовать SELECT c функцией SNIPPET, которая делает тоже самое что BuildExcerpts, но применимо к конкретной строке результата http://sphinxsearch.com/docs/current.html#...c-buildexcerpts
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0679 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.