Погода: -12°C
Samara24.Форум /Компьютеры Интернет Связь / Программирование /

Задачка поиска по нескольким полям

  • Добрый день!
    А вот как программистское сообщество думает - как может решаться следующая задача (а она решаема - такое же есть!):
    есть БД с записями книг, среди полей которых есть title и author
    есть поле поискового запроса
    Если в запросе только название или только автор - то без проблем - делаем условие OR и всё
    А вот если введут "Филатов про федота стрельца" или "Пушкин про федота стрельца"?
    Как надо разбить поисковый запрос и искать части запроса в полях?

  • В ответ на: Как надо разбить поисковый запрос и искать части запроса в полях?
    Не надо разбивать, это слишком сложная задача. Проще объединить автора и название в одно поле и искать уже там. А полное совпадение названия или автора с частью запроса - это дополнительный + при ранжировании результатов поиска.

  • Искать надо отдельные части и по количеству совпадений давать "оценку". Чем выше оценка - тем выше результат в таблице найденного.

    Кстати, как планируете решать задачу поиска "Про Федота-стрельца Пушкина" ?
    Я намекаю на то, что правильнее прикрутить готовые решения для полнотекстового поиска. Вы такого сами явно ен напишете, да и зачем, если это уже сделали.
    Гугль в помощь.

    Кстати, что за БД? нормальные БД уже имеют унутрях полнотекстовый поиск.

  • В том-то и дело, что не представляю, как вычленить из запроса различные варианты автора (а там в любом месте запроса и склонения, и инициалы в разном порядке, и имя-фамилия, и фамилия-имя etc etc...)
    БД - ADABAS. На ней система уже крутится, но сильно специфическая форма поиска (служебная, а надо упростить для обычных пользователей) для поиска нужно задавать, в каком именно поле искать. Есть поиск по всем полям, но как-то он не так работает...
    Буду думать. Или искать решения (но тут специфика - я с одного сайта посылаю POST-запрос на другой сайт).
    Или тупо сделаю чекбоксы по каким полям искать:улыб:

  • Начните с гугля "как мне на сайте сделать полнотекстовый поиск"
    ну или не на сайте
    или так "поиск yandex для моего сайта как сделать"

    Кстати, если вы банально опубликуете "реквизиты" всех книга на отдельных страницах - яндекс уже хорошо вполне проиндексирует

  • А что, в этом вашем АБИБАСе нет полнотекстового поиска? Что-то мне подсказывает, что это вообще его основная функция.

  • В ответ на: БД - ADABAS. Есть поиск по всем полям, но как-то он не так работает...
    Не хочу показаться грубым., но может, все таки, почитать документацию?

  • Да, придется, наверное. Правда найти еe, как понял - нетривиальная задача.
    Не поделитесь линком?

  • Вроде как к СУБД и среде разработки шла документация в комплекте.

    Knowledge itself is a power (F.Bacon)

Записей на странице:

Перейти в форум

Модератор: