Реализация поиска по сайту...

PHProgress

Новичок
Добрый день.

Есть обычный сайт на php.
Работает на БД mysql.

Есть таблица и есть колонки.
Логику поиска (как полагаю) по таблицам можно сделать очень простой:

PHP:
select * table WHERE like columnt '%ищем слово%'
Но есть два непонятных момента:

1. к примеру у нас в БД хранится текст из визуального редактора:

текст <b>хороший</b> очень

если пользователь в поиске введет:

"текст хороший очень" - то соответственно он ничего не найдет...

как это правильно делать?

2. поиск в колонках, где лежат xml-данные... - сложно реализовать или нет...
в колонке может к примеру лежать <xml>-структура и в ней же может быть опять в одном из параметров html-текст...

Спасибо.
 

shelestov

я тут часто
Тогда можно добавить поле в таблицу, где будет лежать текст без тегов и прочей шелухи, по нему искать like-ом.
Но тогда нужно будет самим разбираться с морфологией, если она нужна.
 

PHProgress

Новичок
Можно использовать полнотекстовый поиск.
Так понимаю что это это (полнотекстовый поиск):
http://phpclub.ru/mysql/doc/fulltext-search.html
http://www.answerium.com/article20/

А если допустим мы ищем по колонке в которой есть HTML-код (из визуального редактора?)...
И пользователь введет <b>текст</b> или просто введет тэг <b> - он ведь все равно найдет этот тэг и выведет результаты...
Этот вопрос как можно обойти... - просто вырезать HTML-тэги (через strip_tags) в запросах на поиск из формы input?

И полнотекстовый поиск к XML-данным в колонках подходит?
 

shelestov

я тут часто
И никак не пойму как искать в XML-данных...
Почитайте как строится full-text индекс.
Я в последний раз использовал full-text на myisam в 2006-м.
Тогда для своей задачи я делал отдельное поле по которому строил индекс.

В данный момент использую исключительно сфинкс. Поднять его и настроить дело 30-и минут.
 

PHProgress

Новичок
В общем - чувствую что проще будет поставить яндекс.поиск на сайт.
 

undefined

Новичок
Недавно попался сайт с врезкой где было написано примерно следующее: мы знаем что сюда приходят люди за быстрым ответом и мы дадим такой ответ сейчас же, но советуем прочесть всю статью до конца. Конец перевода. Далее были ответы и я последовал совету - дочитал. Много интересного не узнал, конечно, но и вам советую просто выделить время и потратить его чтобы прочесть основное http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html
 

PHProgress

Новичок
Недавно попался сайт с врезкой где было написано примерно следующее: мы знаем что сюда приходят люди за быстрым ответом и мы дадим такой ответ сейчас же, но советуем прочесть всю статью до конца. Конец перевода. Далее были ответы и я последовал совету - дочитал. Много интересного не узнал, конечно, но и вам советую просто выделить время и потратить его чтобы прочесть основное http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html
Спасибо за статью...
Решил сделать поиск следующим образом - будет кнопка проиндексировать контент сайта...
Ссылки берутся из sitemap.xml

И последовательно по ним идет обход...
Пока решил остановиться на этом варианте.
 
Сверху