Запрос для поиска по базе

Тема в разделе "PHP", создана пользователем poikl, 21 окт 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. poikl

    poikl

    Регистр.:
    7 ноя 2006
    Сообщения:
    164
    Симпатии:
    31
    Проблема в том что делаю поиск по названиям
    name like ('%$str%') так , если ввожу название например
    "поиск" то выводит все названия с этим словом а если ввожу "новый поиск" то не выводит названия по прошлому запросу хотя слово поиск присуцтвует .
    Подскажите как быть ? хочу чтобы искало и по целому запросу и по словам в запросе
     
  2. DIAgen

    DIAgen Постоялец

    Регистр.:
    30 окт 2006
    Сообщения:
    134
    Симпатии:
    72
    Можно так сделать

    PHP:
    name like '%новый%' or name LIKE  '%поиск%'
    Только в этом случаи надо проверять длену слова, например что бы она была не меньше 4 символом, и не было повторений, и брать не более 3-4 слов для поиска.
    Но этот вариан поиска будет довать большую нагрузку на базу.

    Другого варианта пока нет.
     
  3. Hemi-Sync

    Hemi-Sync Постоялец

    Регистр.:
    17 дек 2006
    Сообщения:
    88
    Симпатии:
    38
    DIAgen

    Неверно. Тогда он получит все строки со словом новый и без слова "поиск", а ему это не надо.
    PHP:
    name LIKE  '%новый поиск%' OR name LIKE  '%поиск%'  
     
  4. Deller

    Deller Создатель

    Регистр.:
    24 фев 2008
    Сообщения:
    34
    Симпатии:
    16
    Это нагрузку создаст неебовую. Лучше уж locate использовать наскока помню он меньшще чем like грузит...
     
  5. silent9

    silent9 Постоялец

    Регистр.:
    7 июн 2008
    Сообщения:
    136
    Симпатии:
    10
    разбивай строку поиска на слова и составляй запрос поиска по словам name like '%слово1%' or name like '%слово2%' и т.д.
     
  6. Hemi-Sync

    Hemi-Sync Постоялец

    Регистр.:
    17 дек 2006
    Сообщения:
    88
    Симпатии:
    38
    Для таких случаев используют индексатор. Но автор его не просил. Может ему пару раз найти и забыть.
     
  7. Deller

    Deller Создатель

    Регистр.:
    24 фев 2008
    Сообщения:
    34
    Симпатии:
    16
    ну дык я ето считаю как само собой разумеющееся.... еси не индексировать это песец базам.
     
  8. poikl

    poikl

    Регистр.:
    7 ноя 2006
    Сообщения:
    164
    Симпатии:
    31
    А можно по подробней про индексатор , я без него делаю видемо .
     
  9. sasha181

    sasha181 Постоялец

    Регистр.:
    18 апр 2007
    Сообщения:
    100
    Симпатии:
    25
    Вот неплохой и довольно простой индексатор.
    Принцип в том, что он сканирует весь сайт и создаёт поисковый индекс. Поиск производится по всему тексту.
    Там его версии. Последняя переименованная.

    http://rapidshare.com/files/156231728/genii.rar.html
     
  10. Hemi-Sync

    Hemi-Sync Постоялец

    Регистр.:
    17 дек 2006
    Сообщения:
    88
    Симпатии:
    38
Статус темы:
Закрыта.