Кто делел поиск с помощью FULLTEXT, поделитесь опытом

Leonid

PHP? нет, не слышал...
Кто делел поиск с помощью FULLTEXT, поделитесь опытом

Вопросы такие:
1. Есть ли какие-то ограничения на размер текста помещенного в поле с индексом Fulltext?

2. Как влияет то, что в тексте полно HTML - тегов?

3. Не приводит ли наличие полей индексированных FULLTEXT к торможению БД?

4. Всегда ли поиск выдает то что надо, нет ли глюков?

-~{}~ 21.12.05 15:48:

Делюсь сам с собой. :) Только что заметил глюк. Если в таблице всего 2 строки, то поиск не работает, больше 2, хотя бы 3 - работает....
 

Kirs

Fireman
Re: Кто делел поиск с помощью FULLTEXT, поделитесь опытом

Если судить по данному разделу мануала
Полнотекстовый поиск в MySQL, скорее всего:
1. ограничевается только максимумом размера поля, где хранится индексируемая информация.
2. FULLTEXT на данный момент воспринимает только голый текст, разбивая его на слова (букв-цифро-'_ последовательности заданного размера), соответственно вся HTML разметка будет восприниматься как слова, т.е. тэги "<strong></strong>" = слово "strong" (с повышенной релевантностью).
3. Не должно (это же отдельные блоки информации, задействование которых производится только при необходимости... при иных запросах они гнорируются).
4. Вот об этом в мануале разжевано... и про релевантность, и про бинарный поиск...
 

ForJest

- свежая кровь
Делюсь сам с собой. Только что заметил глюк. Если в таблице всего 2 строки, то поиск не работает, больше 2, хотя бы 3 - работает....
Про это тоже сказано в мануале. Про 2 и 3 записи.
 

Royal Flash

-=MaestrO=-
Leonid
1. Нет
2. Все скрытые теги и т.д. более 3-х символов будут проиндексированы, и следовательно, будут найдены.
3. Нет.
4. Глюков нет, за исключением наъождения скрытого HTML...

Чтобы находил все - используй бинарный поиск.
 

Falc

Новичок
>>3. Не приводит ли наличие полей индексированных FULLTEXT к торможению БД?

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

Dor

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

Оказывается (эта ситуация тоже описана в мануале) если больше половины строк содержат искомое, то результат не выводится, в общем случае.
 
Сверху