Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Таблицы с ключевиками для организации поиска
 
 автор: Дмитрий Смаль   (04.03.2010 в 12:25)   письмо автору
 
 

Здраствуйте!

есть желание написать скрипт поиска без использования LIKE.

к примеру есть несколько таблиц, по которым нужно вести поиск
- page
- news
- product

я собираюсь сделать ещё две таблицы для ключевых слов и связей
keywords
- word_id - номер слова
- word_ text- само слово в нижнем регистре, уникальное поле

вторая таблица
keywords_search
- word_id - номер слова с keywords
- table_id - номер таблицы (page,news,product)
- row_id - номер записи в таблице
уникальными будут три поля одновременно, но в самих полях значения могут повторятся

как сгенерировать такие таблицы мне понятно - запускается скрипт, который каждую запись в каждой таблице по очереди разбивает на слова и вносит их в таблицы поиска

вопрос в том, как потом вносить в них изменения?
когда новую запись создаю но непроблема - просто добавится пару ключевых слов и связок
но если я вношу изменения в какую-то запись, то получается надо сначала удалить (или деактвировать) связи этой таблицы с ключевиками и потом их заново внести либо активировать неактывные связи

и ещё вопрос - можно ли используя такую структуру сделать релевантность поиска?
- есть вариант добавить в keywords_search столбик word_count - количество слов, и сортировать по количеству


P.S.
есть такой вариант с изменением текущей записи
- добавить в keywords_search столбик word_count
- когда внося изменения, то сначала все связки в таблице keywords_search связанные с редактируемой записью обнуляются, тоесть word_count изменить на 0
- после внесения изменения в запись заново создать массив ключевых слов, внести новые ключевые слова и если ключевых слов нету в связках, то добавить новую строку, а если есть то просто изменить количество слов в связке

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования