5°C
завтра: 3°C
Погода в Перми
5°C
вечером5°C
ночью0°C
завтра3°C
Подробно
 64,68
+0.6996
Курс USD ЦБ РФна 26 апреля
64,6794
+0.6996
 72,11
+0.3961
Курс EUR ЦБ РФна 26 апреля
72,1111
+0.3961
PRM.Форум /Компьютеры Интернет Связь / Программирование /

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

  • v.i.p.

    Сообщений: 17336

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

  • guru

    Сообщений: 5269

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

  • guru

    Сообщений: 9338

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

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

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

  • v.i.p.

    Сообщений: 17336

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

  • guru

    Сообщений: 9338

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

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

  • member

    Сообщений: 79

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

  • experienced

    Сообщений: 846

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

  • v.i.p.

    Сообщений: 17336

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

  • guru

    Сообщений: 3226

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

    Knowledge itself is a power (F.Bacon)

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

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

Модератор: