Поиск по базе данных
- сайт. информация, представляемая на его страницах хранится в таблице базы данных. надо организовать поиск по ней с форматированным представлением найденных результатов (т.е. если фрагмент слова, по которому ведется поиск, совпадает с фрагментом слова в поле таблицы, то выводится вся запись-строка).
Интересует общий алгоритм, как это делается?
Документация по БД, в частности раздел где описывается LIKE поможет.
интересует в частности: для чего нужно индексирование, зачем создавать индексные файлы? Наверно, чтобы не искать по таблицам, так быстрее получится? А как указать, откуда брать полные данные по найденному результату?
Для быстрого поиска по ключам (слова)
>>зачем создавать индексные файлы
Это и есть индекс. Можешь в памяти хранить... До первого ребута))
>>Наверно, чтобы не искать по таблицам, так быстрее получится?
Читай про индексы для БД (если ты про неё говоришь)
>>А как указать, откуда брать полные данные по найденному результату?
Прочитать про индексы.
1. создаем текстовый индексный файл, заполняем его словами из таблицы БД;
2. в БД создаем индекс в таблице на столбцах, по которым будем проводить поиск (командой CREATE INDEX).
и работать все это будет так:
- пользователь вводит слово в поле поиска;
- просматривается индексный файл на предмет совпадений, если их нет, то поиск закончен. если совпадение найдено, то формируется запрос к таблице БД с использованием функции LIKE;
- найденные строки печатаем.
поправьте меня, если я ошибся.
При создании таблицы указывай какой поле будет индексироваться.. И всё.
Цитата: АКМ
почитал. Значица, надо делать так:
1. создаем текстовый индексный файл, заполняем его словами из таблицы БД;
1. создаем текстовый индексный файл, заполняем его словами из таблицы БД;
На всякий случай перечитай ещё раз и вдумчиво :D
Значит, они (эти файлы) используются только в системах поиска по статичным страничкам. ладно, попробую сделать.