vitroot

vitroot
Рейтинг
22
Регистрация
16.12.2010

походу стал так долго открываться, что ТС до сих пор и ответить не может...

чем смарти не угодил?

Всетки скажите какая разница между полнотекстовым и таким?

Преимущества поиска с помощью оператора LIKE:

* незначительное увеличение времени обработки запроса при увеличении его сложности

* возможность сортировки результатов

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

Недостатки LIKE:

* отсутствие поддержки морфологии

* отсутствие модификаторов

* поиск по всем строкам

Преимущества полнотекстового поиска:

* поддержка морфологии

* выдача результатов по релевантности

* наличие модификаторов, схожих с модификаторами в поске Гугла и Яндекса

* стоп-слова

* возможность настройки

Недостатки:

* отсутствие возможности сортировки

* поддержка только VARCHAR и TEXT полей с индексами FULLTEXT

* ресурсоемкий процесс

* изначальная поддержка только MyISAM таблиц

* при установленном ключе FULLTEXT добавление данных в таблицу происходи дольше

Хортица, это, так сказать, случайные клиенты :)

Хортица:
До 10 секунд. Вот те что больше 50 тыс публикаций - те по существенней. Но если позволяет хостинг/сервер - то все это можно сделать и через phpmyadmin

Было у меня недавно пара клиентов с подобной пробелмой.

На самом деле все решается куда проще - восстанавливается бекап с прошлого дня и все.

Все, не считая проведения мероприятий по поиску и исправлению дыр :)

скачиваешь дамб базы в формате sql открываешь блокнотом делаешь поиск

С тысячами новостей-то? Ты представляешь, сколько будет открываться, сколько искать и сколько заменять? Все то же можно сделать и непосредственно в БД

НО: если поиск идет через LIKE %...% - ключи практически не помогут. Они используются при поиске только с MATCH...AGAINST

Они капризны и к MATCH...AGAINST, в особенности, если в WHERE будете указывать кучу критериев выборки.

а вот что я сделал:
PHP код:
MATCH (short_story,full_story,xfields,title) AGAINST ('{story}')

Зачемв запросе указывать поле xfields? Тот же title там не очень нужен, поскольку он практически в неизменном виде встречается в short_story.

Неужели текст short_story у вас отсутствует в full_story? Это редкость :) Но крайне полезная редкость, которой в будущем все говорят "огромное спасибо!" :)

Но вот перебор дополнительно по title может сделать запрос очень дорогим

vitroot, в первом посте написал, что php есть и работает

Что-то мне подсказывает, что если бы работал, этого топика здесь не было

Если на хостинге поддержка php есть, то никакие для этого .htaccess'ы городить не надо.

И вообще, вставлять php-скрипты в *.html не лучший вариант.

Для начала создайте страничку test.php с текстом <?php phpinfo(); ?> и проверьте ее работу на сервере.

Вообще, странный вопрос. Можно как-то подробней?

Уверен, можно обойтись

SELECT COUNT(*) FROM table WHERE.....

Один минус - запросы подобного вида оптимизатор MySQL не любит и изначально, в любом случае, будет перебирать всю таблицу. И только потом отсечет все, что не попадает под условие. Если База маленькая и посещаемость не вилика - сойдет. Если нагрузка нехилая - лучше сделать запрос иначе.

Всего: 61