<MyRusakov.ru />

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

Данный курс научит Вас создавать крупные проекты на Java грамотно и быстро. В курсе Вы увидите создание большой и сложной программы на Java абсолютно с нуля.

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

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

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

Подписавшись по 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

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