Архивировано

Эта тема находится в архиве и закрыта для публикации сообщений.

Lerico

Поиск по форуму

Рекомендованные сообщения

Пишу свой форум (На PHP) и вот дошло дело до поиска по форуму.

Я прикинул среди 10000 сообщение искать через "LIKE %$text%" это серьезная нагрузка на БД... Да и по ламерски выглядит :D

и прикинул тут такой вариант:

Есть таблица поиска в MySQL [ ID ] [ Слово ] [ №Постов через , (1024,5004,9701,...) ]

Перед добавление сообщения в БД. Оно разбивается на слова и анализируется. Слова состоящие из 4-30 символов добавляются в таблицу поиска.

Потом при поиске через LIKE выбераются из таблицы схожие слова и № постов где эти слова есть.

Ну и потом уж как нибудь выбираются, сортируются...

Как Вам такая система? Мож есть более лучшие варианты?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да есть лучше вариант , пользуйся последним mysql и используй fulltext , это немного другая технолочия чем LIKE , но она шустрее ....

 

Можно составлять мини таблицы с основными словами поста , и искать по ним , т.е. чел запостил сообщение , а ты в другую таблицу кидаеш основные слова его сообщения , выкидывая все лишнее и потом ищеш в ней ....... но это тоже не вариант.......

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У хостеров мона найти тока MySQL 3 или MySQL 4. Очень редко MySQL 5...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно составлять мини таблицы с основными словами поста , и искать по ним , т.е. чел запостил сообщение , а ты в другую таблицу кидаеш основные слова его сообщения , выкидывая все лишнее и потом ищеш в ней ....... но это тоже не вариант.......

Этот вариант более нагруженный, как я понял, придется пробежать по всем 10000 сообщениям....

А 10000 сообщений эту условно, их можеть быть и 50000, 100000.....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Посмотри просто трезво правде в глаза .........

Будет ли там 5000 сообщений?

Ты в этом уверен........

"Оцени затраты реализации и окупаемость"

 

Стоит ли заморачиваться вообще с поиском?

 

Уменя при запросе на поиск просматриваються 5 таблиц с аааабсалютно разными значениями, в одной 1000записей , вдругой сейчас 5000 ..... и т.д. , это корпоративный бакоффис , задержка в 1-2сек. нестрашна поверь.........

 

Если там действителльно будет 100.000 то тогда забуть пропоиск :)))

Футка ... Смотри в инете есть куча того как оптимально производить поиск.........

Кроме сброса в отдельную таблицу и fulltext я думаю ненайти , если найдеш то напиши в PM буду презнателен , да можно помнить конечно последние запросы , но вероятность их повторения ......

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах