Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > match ... against и запрос с точкой


Автор: ddRoot2 7.2.2009, 18:09
Всем привет. Есть табличка:
Код

CREATE TABLE `articles` (
  `a` varchar(200) collate latin1_general_ci default NULL,
  FULLTEXT KEY `a` (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

INSERT INTO `articles` VALUES ('test');
INSERT INTO `articles` VALUES ('test.1');
INSERT INTO `articles` VALUES ('test.2');

выполняю запрос
Код

SELECT * FROM `articles` WHERE match(a) against('+test*' in boolean mode)

показывает все три записи
Этот:
Код

SELECT * FROM `articles` WHERE match(a) against('+"test."*' in boolean mode)


по идее должен показать только последние две, а показывает все. against('+test.*' in boolean mode), against('+test\.*' in boolean mode) аналогично. Пробовал в пхпмуадмине. 

Подскажите, как сделать поиск (именно через match...against) с точкой? 
Тут выложил упрощенную задачу, в оригинале больше полей, намного больше рядов и более сложный поиск, но глюк в этой точке - не ищутся ряды с точками при запросе с точкой.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)