Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

По следам поиска ещё раз

div.main {margin-left: 20pt; margin-right: 20pt}По следам поиска ещё раз DL
28.09.2001

Комментарии к предыдущему материалу Олега Юсова.

Упражнения в настройках и запросах.

Сначала как добавить FULLTEXT-индекс:



mysql> alter table zametka add fulltext(ztext);
ERROR 1073: BLOB column 'ztext' can't be used in key specification with the used table type

mysql> alter table zametka type=myisam;
Query OK, 36 rows affected (0.60 sec)
Records: 36 Duplicates: 0 Warnings: 0

mysql> alter table zametka add fulltext(ztext);
Query OK, 36 rows affected (10.00 sec)
Records: 36 Duplicates: 0 Warnings: 0

Текстовые индексы можно делать только в таблицах типа MyISAM. Тексты берутся из таблицы и скидываются в файл индекса, и растёт объём базы.

По поводу запросов.
Нельзя поле relev использовать в клаузе WHERE:



SELECT *, MATCH field AGAINST ('$searchwords') as relev FROM table WHERE relev>0 ORDER BY relev DESC

хотя можно:



SELECT *, MATCH field AGAINST ('$searchwords') as relev FROM table WHERE MATCH field AGAINST ('$searchwords')>0 ORDER BY relev DESC

Вычисленное поле, конечно же, нельзя использовать в WHERE по всем правилам синтаксиса, но можно использовать в HAVING:



SELECT *, MATCH field AGAINST ('$searchwords') as relev FROM table HAVING relev>0 ORDER BY relev DESC

Поиск через MATCH, как писал Олег, делается только по слову целиком. ...Впрочем, по релевантности можно только сортировать, а выбирать по LIKE (это, конечно, скажется на производительности, даже не знаю, насколько).

Убираем условие "relev>0", оставляем сортировку. Остальное, как и раньше — рубим полученную строку и превращаем в запрос с несколькими операторами LIKE:



SELECT *,MATCH field AGAINST (&;#39;$searchwords') AS relev FROM table WHERE field LIKE '%$word1%' OR field LIKE '%$word2%' ORDER BY relev DESC, datefield DESC

Логи, которые я теперь собираю по технологии, которую предложил RomikChef, работают гораздо лучше. Скорость выборки на удивление осталась прежней, зато объём файлов, в которых лежат таблицы, сократился в 10 раз.

Кому надо, могут скачать файл с новым анализатором статистики [1] (я описывал его в мае [2]).

Если не лень будет, выложу скрипт для автоматической отправки по почте логов с хостинга на дом, запакованных в формате GZip (Windows Commander понимает). Для полной автоматизации можно будет сделать канал для WatzNew, и логи будут идти сами, например, раз в неделю (получится письмо объёмом около 300 килобайт).





Найдено здесь [3]:

mailto:serforester@peren.ru 23.08.2001 10:01
Дима, прости уж мне мою банальность (хотя кто я такой, чёб меня прощать), но все эти разговоры о Лебедеве ... Ну первооткрыватель, ну сделал кучу сайтов, есть у него чувство формы, да и программульки писать могЁт. Ну и хватит :-) Просто когда кого-то постоянно захваливают — хочется отойти подальше и не слышать этого. И чёрт с ним, что не будешь понимать о чём потом будут разговоры — зато хоть уважение и интерес к этой личности останется. Короче, это как с Сибирским Цирюльником и его Мэйкером. Уважаю я Никиту Михалкова и поэтому не могу смотреть на то, как он превращается в холёную "звезду". Кстати, "цирюльника" так и не посмотрел — у Н.М. и так хватает интересных фильмов. Вообщем, поступило типа предложение: все на http://detail.phpclub.net/ [6] [4] или http://tema.ru/ [7] [5] , а про автора ни-ни. Пропадёт — будут о нём, как об арханизме Рунета говорить.

mailto:nail@bowling.nsk.su 26.08.2001 16:43   
2 serforester@peren.ru:
Что-то вы напутали, Семен Семеныч.
http://detail.phpclub.net/ [6] [4] и http://tema.ru/ [7] [5] — дело рук двух разных людей — Дмитрия Лебедева и Артемия Лебедева соответственно.


Оказывается, благодаря моим усилиям Артемий "программульки писать могёт". Мне лестно.
Ссылки, использованные в выпуске:1) /download/log_writer_n_analyzer.zip
2) http://detail.phpclub.net/technique/01-05-17/
3) http://www.spectator.ru/comments/290
4) http://detail.phpclub.net
5) http://tema.ru
6) http://detail.phpclub.net
7) http://tema.ru



Полная версия выпуска: http://detail.phpclub.net/news/01-09-28/ © Дмитрий Лебедев <dnl@au.ru>
© Клуб PHP-разработчиков <http://phpclub.net/>

  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте