<MyRusakov.ru />

Написание лайфхаков на Python

Написание лайфхаков на Python

Данный курс научит Вас автоматизировать самые разные задачи на языке Python, благодаря чему Вы сэкономите на рутине тысячи и тысячи часов своей жизни. Курс состоит из 20 примеров в различных областях: файлы и директории, медиа-файлы, Интернет, Web-мастеринг, Unreal Engine. Каждый пример упрощает ту или иную задачу в своей области, при этом каждый из них создаётся прямо на Ваших глазах и тщательно комментируется.

Помимо самих уроков Вы так же получаете и множество упражнений. По сути, Вы создадите свои собственные 20 небольших проектов, благодаря чему у Вас появится и практика, и портфолио.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Зачем Вы изучаете программирование/создание сайтов?

Форум сайта MyRusakov.ru

Поиск по полнотекстовому индексу
02.04.2012 13:10:39 Поиск по полнотекстовому индексу Сообщение #1
Bizmatek

Bizmatek

Новичок

Новичок

Дата регистрации:
31.03.2011 06:15:14

Сообщений: 8

Здравствуйте. У меня вопрос касательно инструкции MATCH() AGAINST()
Данная инструкция предполагает поиск слова/фразы в текстовом поле. Но при попытке это сделать у меня получается найти только последнее слово в поле, все остальные слова якобы отсутсвуют и поиск по ним невозможен. Подскажите пожалуйста где я касячу...

CREATE TABLE test_table (
id INT(3) NOT NULL AUTO_INCREMENT,
text_field TEXT,
PRIMARY KEY(id),
FULLTEXT INDEX FULL_1 (text_field)
);



INSERT INTO `test_db`.`test_table` (
`id` ,
`text_field`
)
VALUES (
NULL , 'тестовый набор текста номер один'
);



INSERT INTO `test_db`.`test_table` (
`id` ,
`text_field`
)
VALUES (
NULL , 'тестовый набор текста номер два'
);



INSERT INTO `test_db`.`test_table` (
`id` ,
`text_field`
)
VALUES (
NULL , 'тестовый набор текста номер три'
);



работает тут только запрос в котором есть последнне слово в текстовом поле. Например так:

SELECT * FROM test_table WHERE MATCH(text_field) AGAINST ('один')


Если вписать другое слово из фразы - то результата не будет:

SELECT * FROM test_table WHERE MATCH(text_field) AGAINST ('набор текста')


ну вот как-то так. просьба сильно не пинать если туплю, я только начал постигать mysql. Заранее спасибо.
Профиль Ответить
02.04.2012 13:16:49 Поиск по полнотекстовому индексу Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

http://myrusakov.ru/php-search.html
http://myrusakov.ru/mysql-case-search.html
Профиль Ответить
02.04.2012 13:37:24 Поиск по полнотекстовому индексу Сообщение #3
Bizmatek

Bizmatek

Новичок

Новичок

Дата регистрации:
31.03.2011 06:15:14

Сообщений: 8

По Вашим ссылкам рассматривается поиск по тексту с помощью LIKE - с этим-то как раз проблем не возникает; По поводу регистров тоже вроде все ясно... Не то чтобы меня не устраивал LIKE, просто хотелось бы узнать как работать именно с полнотекстовым индексом, т.к. LIKE не выдает результаты по релевантности.
Профиль Ответить
02.04.2012 17:24:22 Поиск по полнотекстовому индексу Сообщение #4
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Попробуйте так: AGAINST ('набор текста' IN BOOLEAN MODE)
Профиль Ответить
03.04.2012 09:38:15 Поиск по полнотекстовому индексу Сообщение #5
Bizmatek

Bizmatek

Новичок

Новичок

Дата регистрации:
31.03.2011 06:15:14

Сообщений: 8

Спасибо, помогло. В логическом режиме все очень хорошо ищется Тему можно закрывать.
Профиль Ответить