|
MySQL.RU - Webboard
Вернуться
Полнотекстовый индекс (Guest) 13/12/2001 - 10:44:47
Re: Полнотекстовый индекс (Василий) 13/12/2001 - 13:52:36
Re: Спасибо! (Guest) 13/12/2001 - 15:05:17
Re: А как насчёт русского текста с (encyclop) 13/12/2001 - 16:55:11
Re: Stop-лист... (Я) 13/12/2001 - 17:09:22
Re: Stop-лист... (Василий) 13/12/2001 - 17:35:25
Re: А как насчёт русского текста с (Василий) 13/12/2001 - 17:48:51
> Original message text:
> From: Guest - 13/12/2001 - 10:44:47
> Subject:Полнотекстовый индекс
> -----------------
> Что такое полнотекстовый индекс, в какой версии появился и как с ним работать? Есть ли ограничения на размер индексируемого поля(ей) VARCHAR, TEXT?
>
From: Василий - 13/12/2001 - 13:52:36
Subject:Полнотекстовый индекс
-----------------
1. полнотекстовый индекс - индекс по словам текста
2. появился с версии 3.23.23
3. на размер ограничений нет (на longtext работает нормально)
4. как работать
а. создание
create table tb_docs(
id int,
value longtext,
FULLTEXT KEY ctx_texts (value));
б. использование
insert into tb_docs(id, value) values (1,'a b c d e');
insert into tb_docs(id, value) values (2,'aaa');
insert into tb_docs(id, value) values (3,'abracadabra');
mysql> select id, match(value) against ('abracadabra') from tb_docs;
+------+--------------------------------------+
| id | match(value) against ('abracadabra') |
+------+--------------------------------------+
| 1 | 0 |
| 2 | 0 |
| 3 | 0.68526663197496 |
+------+--------------------------------------+
3 rows in set (0.01 sec)
mysql> select id from tb_docs where match(value) against ('abracadabra');
+------+
| id |
+------+
| 3 |
+------+
1 row in set (0.02 sec)
5. особенности
а. по умолчанию мин. длина индексируемых слов равна 4, прошито в исходниках
б. есть стоп-лист. он прошит в исходниках
в. если слово встречается с частотой больше 1/2 (более чем в половине записей), то оно игнорируется. частота прошита в исходниках.
г. слово - последовательность букво-цифровых символов, одинарных кавычек и подчеркиваний. слова длиной меньше минимальной или из стоплиста или с частотой больше 1/2 игнорируются при поиске
д. функция match возвращает релевантность. если при вышеописанных условиях слово было найдено, то возвращает число больше 0, иначе 0
е. если надо что-то из перечисленного в а. б. в. поменять, то надо поменять в исходниках, перекомпилить, пересоздать fulltext индексы.
6. ну и напоследок советую доки почитать. раздел 6.8 всего-то на две страницы. хотя осн. моменты я тут перечислил
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
1174
|
|