Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Какие типы данных лучше юзать для поиска по словам...??? / 5 сообщений из 5, страница 1 из 1
26.05.2003, 11:14
    #32168309
commander
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какие типы данных лучше юзать для поиска по словам...???
Вопросик такой...
Какие типы данных лучше юзать для поиска по словам...???
Ситуация такая:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
CREATE TABLE text_data( 
id int not null auto_increment,
url  VARCHAR( 255 ), 
title VARCHAR( 255 ), 
body TEXT, 
primary key(id), 
fulltext(title, body) 
); 

SELECT title 
FROM text_data 
WHERE MATCH(title, body) AGAINST('слово'); 

SELECT url
FROM text_data 
WHERE MATCH(title, body) AGAINST('слово'); 

но ^^^ так чего-то не работает...:(((
Не подскажите как лучше это сотворить???
...
Рейтинг: 0 / 0
26.05.2003, 16:28
    #32168718
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какие типы данных лучше юзать для поиска по словам...???
Проверь настройки русского... Я тут уже писал об этом, как правильно настроить!
Посмотри еще использовании функции LIKE
...
Рейтинг: 0 / 0
27.07.2003, 03:03
    #32218929
xt
xt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какие типы данных лучше юзать для поиска по словам...???
А может просто результатов меньше трех штук. match в таком случае вообще ничего не выдает! :(
...
Рейтинг: 0 / 0
27.07.2003, 23:44
    #32219134
Хрен
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какие типы данных лучше юзать для поиска по словам...???
Нет такого ограничения - не менее 3 строк в результате.. Это вы что-то напутали.

По поводу - не ищет "слово". Скорее всего - это так называемый 50 процентный порог . Если слово встечается более чем в 50% записей в базе - оно считается "незначимым" и не выводится при подсчете результатов.

Часто бывает так, что добавят одну запись в таблицу и пытаются ее найти (для проверки fulltext). Естественно ничего не находится.

Если же вам наплевать на 50% порог, то ищите в in boolean mode .

то есть
Код: plaintext
1.
2.
3.
SELECT title 
FROM text_data 
WHERE MATCH(title, body) AGAINST('слово' in boolean mode); 
...
Рейтинг: 0 / 0
29.07.2003, 05:32
    #32220092
xt
xt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какие типы данных лучше юзать для поиска по словам...???
Да, пожалуй, вы правы на счет порога, но проблемы всё равно есть. :(

Если ищешь 'book' то 'books' проскипается. Слова менее четырех букв тоже скипаются (хотя это можно подстроить).

Наверное надо делать временную таблицу, туда вставлять резуьтаты MATCH(...) AGAINST('book'), а за ними результаты LIKE 'book%' дабы books тоже находилось.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Какие типы данных лучше юзать для поиска по словам...??? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]