SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 08.08.2011 13:37:07

soniclord
Завсегдатай
Зарегистрирован: 21.07.2010
Сообщений: 31

select + replace + match?

Здравствуйте!
не могу понять почему не работает такой запрос:

SELECT page_title, replace(page_title,'_',' ') as `replace` from page WHERE MATCH (replace) AGAINST ('слово1 слово2')

хотя по отдельности работает запрос.
1) нужно заменить символы _ на пробелы
2) найти совпадения слов в таблице.

Неактивен

 

#2 08.08.2011 18:59:11

soniclord
Завсегдатай
Зарегистрирован: 21.07.2010
Сообщений: 31

Re: select + replace + match?

может я не правильно объяснил?

Неактивен

 

#3 08.08.2011 23:13:29

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: select + replace + match?

soniclord написал:

не могу понять почему не работает такой запрос:

После замены символов _ на пробелы у вас новый текст, на который нет полнотекстового индекса.
Сделайте наоборот: сначала поиск, затем замена символов.

Неактивен

 

#4 09.08.2011 05:35:58

soniclord
Завсегдатай
Зарегистрирован: 21.07.2010
Сообщений: 31

Re: select + replace + match?

я не понимаю какой тогда смысл от замены?
понимаете данные в поле page_title имеют вид: название_станицы_1 и я же должен сначала разделить это поле на слова чтобы произвести сравнение по match against.

Если Вам, vasya, не сложно, приведите пожалуйста пример или поправьте мой запросик :-)

Неактивен

 

#5 09.08.2011 14:31:42

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: select + replace + match?

soniclord написал:

понимаете данные в поле page_title имеют вид: название_станицы_1

Какой смысл в полнотекстовом индексе на такое поле?
Почему сразу не хранить данные в нормальном виде, т.е. заменив _ на пробелы? ИМХО, это лучший вариант.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson