[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Полнотекстовый поиск
linklink26
Есть Mysql таблица в myisam

В таблице миллион записей.

Требуется полнотекстовый поиск, использовали like но сильно тормозило, более 2 секунд ищет это много.

Получилось через MATCH, но ищет не все.

Например ищет так

SELECT pole_1, pole_3, pole_5 FROM 1s
WHERE MATCH (pole_1, pole_3, pole_5) AGAINST ('EUC-150S070SVA')


Но не ищет такое

SELECT pole_1, pole_3, pole_5 FROM 1s
WHERE MATCH (pole_1, pole_3, pole_5) AGAINST ('Mean Well CLG-150')


Что можно сделать? (Fulltext индексы прописаны, sphinx не предлагать :)
Valick
linklink26, скорее всего Mean Well CLG-150 попадает под фильтр
много в таблице записей с Mean Well CLG-150?
хотя на самом деле он ищет три слова отдельно Mean отдельно Well и отдельно CLG-150
в общем надо знать организацию бд, чтобы ответить точнее

_____________
Стимулятор ~yoomoney - 41001303250491
linklink26
Цитата (Valick @ 2.12.2014 - 21:23)
linklink26, скорее всего Mean Well CLG-150 попадает под фильтр
много в таблице записей с Mean Well CLG-150?
хотя на самом деле он ищет три слова отдельно Mean отдельно Well и отдельно CLG-150
в общем надо знать организацию бд, чтобы ответить точнее

Да вы правы, прошелся отдельно лайком по этим запросам

Mean - 660 записей
Well - 1902 записей
CLG-150 - 8 записей

Вот структура таблицы

CREATE TABLE IF NOT EXISTS `1s` (
`id` int(7) NOT NULL auto_increment,
`pole_1` varchar(255) NOT NULL,
`pole_2` varchar(255) NOT NULL,
`pole_3` varchar(255) NOT NULL,
`pole_4` varchar(255) NOT NULL,
`pole_5` varchar(255) NOT NULL,
`pole_6` varchar(255) NOT NULL,
`pole_7` varchar(255) NOT NULL,
`pole_8` varchar(255) NOT NULL,
`pole_9` varchar(255) NOT NULL,
`pole_10` varchar(255) NOT NULL,
`pole_11` varchar(255) NOT NULL,
`pole_12` varchar(255) NOT NULL,
`pole_13` varchar(255) NOT NULL,
`pole_14` varchar(255) NOT NULL,
`pole_15` varchar(255) NOT NULL,
`pole_16` varchar(255) NOT NULL,
`pole_17` varchar(255) NOT NULL,
`pole_18` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `iun` (`pole_1`,`pole_3`,`pole_5`)
)
ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0 AUTO_INCREMENT=814026 ;



Ломаю голову как можно тонко настроить быстрый поиск чтобы искал полнотекстово, т.е. выводил все в том числе "Mean Well CLG-150".

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

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.