Решите "Can't find FULLTEXT index matching the column list"

[Удален]
3767

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

Can't find FULLTEXT index matching the column list

SELECT id, date, short_story_rus, xfields, title_rus, category, alt_name FROM ТАБЛИЦА WHERE MATCH (title_rus, short_story_rus, full_story_rus, xfields) AGAINST ('Классификация виски Мало кто знает что виски это не только разные марки и производители это разные типы и вкусы...') AND id != 9 AND approve=1 LIMIT 5

Дело как обстоит: основа двиг ДЛЕ, клиенту надо чтобы на сайте было и русский и украинский язык, поэтому добавил еще немного полей для укр языка, чтобы не путаться с доп.полями. Что получается: когда в таблице "_post_extras" в поле "related_ids" есть айдишники, то все ОК. Но вот если их там нет, то выскакивает вот такая ошибка. Сайт сначала был сделан на девере, а потом перенесен уже на сервер.

Подскажите как избавиться от этой проблемы, уже все перепробовал.

siv1987
На сайте с 02.04.2009
Offline
427
#1

Покажите структуру таблицы. SHOW CREATE TABLE ТАБЛИЦА

[Удален]
#2
siv1987:
Покажите структуру таблицы. SHOW CREATE TABLE ТАБЛИЦА

CREATE TABLE `ТАБЛИЦА` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`autor` varchar(40) NOT NULL DEFAULT '',

`date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',

`short_img` varchar(700) NOT NULL,

`full_img` varchar(700) NOT NULL,

`short_story_rus` text NOT NULL,

`short_story_ukr` text NOT NULL,

`full_story_rus` text NOT NULL,

`full_story_ukr` text NOT NULL,

`xfields` text NOT NULL,

`title_rus` varchar(255) NOT NULL DEFAULT '',

`title_ukr` varchar(255) NOT NULL DEFAULT '',

`descr_rus` varchar(200) NOT NULL,

`descr_ukr` varchar(200) NOT NULL,

`keywords_rus` text NOT NULL,

`keywords_ukr` text NOT NULL,

`category` varchar(200) NOT NULL DEFAULT '0',

`alt_name` varchar(200) NOT NULL DEFAULT '',

`comm_num` mediumint(8) unsigned NOT NULL DEFAULT '0',

`allow_comm` tinyint(1) NOT NULL DEFAULT '1',

`allow_main` tinyint(1) unsigned NOT NULL DEFAULT '1',

`approve` tinyint(1) NOT NULL DEFAULT '0',

`fixed` tinyint(1) NOT NULL DEFAULT '0',

`allow_br` tinyint(1) NOT NULL DEFAULT '1',

`symbol` varchar(3) NOT NULL DEFAULT '',

`tags_rus` varchar(255) NOT NULL,

`tags_ukr` varchar(255) NOT NULL,

`metatitle_rus` varchar(255) NOT NULL,

`metatitle_ukr` varchar(255) NOT NULL,

PRIMARY KEY (`id`),

KEY `autor` (`autor`),

KEY `alt_name` (`alt_name`),

KEY `category` (`category`),

KEY `approve` (`approve`),

KEY `allow_main` (`allow_main`),

KEY `date` (`date`),

KEY `symbol` (`symbol`),

KEY `comm_num` (`comm_num`),

KEY `fixed` (`fixed`),

KEY `tags` (`tags_rus`,`tags_ukr`),

FULLTEXT KEY `short_story` (`short_story_rus`,`full_story_rus`,`title_rus`,`short_story_ukr`,`full_story_ukr`,`title_ukr`,`xfields`)

) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=cp1251

siv1987
На сайте с 02.04.2009
Offline
427
#3

Какие поля используйте в запросе и по каким полям у вас индекс? http://habrahabr.ru/post/40218/

[Удален]
#4
siv1987:
Какие поля используйте в запросе и по каким полям у вас индекс? http://habrahabr.ru/post/40218/

Вот сам запрос:

SELECT id, date, short_story_rus, xfields, title_rus, category, alt_name FROM ТАБЛИЦА WHERE MATCH (title_rus, short_story_rus, full_story_rus, xfields) AGAINST ('Классификация виски Мало кто знает что виски это не только разные марки и производители это разные типы и вкусы...') AND id != 9 AND approve=1 LIMIT 5

Вот поля с Фуллтекст:

`short_story_rus`,`full_story_rus`,`title_rus`,`short_story_ukr`,`full_story_ukr`,`title_ukr`,`xfields`

siv1987
На сайте с 02.04.2009
Offline
427
#5
Mr.Boba:
Вот сам запрос:

Спасибо, я вижу. :) Это я говорю чтобы вы сами к нему лучше присмотрелись и почитали справочку по fulltext'у. Нужно указать все поля которые использует индекс, либо создать другой.

[Удален]
#6
siv1987:
Спасибо, я вижу. :) Это я говорю чтобы вы сами к нему лучше присмотрелись и почитали справочку по fulltext'у. Нужно указать все поля которые использует индекс, либо создать другой.

У меня только возник вопрос: может надо разделить поля с русским и укр языком в отдельные индексы?

---------- Добавлено 06.09.2012 в 10:08 ----------

И это разделение помогло решить проблему.))) Всем спасибо

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий