FULLTEXT MYSQL Query

mysql full-text-search

31 просмотра

1 ответ

Я пытаюсь сделать запрос FULLTEXT и сталкиваюсь с ошибкой.

Ниже приведен запрос:

SELECT `o`.`fruits_id` 
FROM `fruits` as `o` JOIN `fruits_categories` as `oc` ON `o`.`fruits_id` = `oc`.`fruits_id` 
JOIN `categories` as `c` ON `c`.`cat_id` = `oc`.`cat_id` 
JOIN `fruits_location` as `ol` ON `o`.`fruits_id` = `ol`.`fruits_id` 
JOIN `location` as `l` ON `l`.`location_id` = `ol`.`location_id` 
JOIN `fruits_price` as `op` ON `o`.`fruits_id` = `op`.`fruits_id` 
JOIN `price` as `p` ON `p`.`price_id` = `op`.`price_id` 
WHERE ( (MATCH (o.fruits_name, o.fruits_description, o.address, o.instagram_tag) AGAINST ('apple') OR MATCH (c.cat_name) AGAINST ('apple') OR MATCH (l.location_name) AGAINST ('apple') OR MATCH (p.price_name) AGAINST ('apple') ) 
AND (MATCH (o.fruits_name, o.fruits_description, o.address, o.instagram_tag) AGAINST ('orange') OR MATCH (c.cat_name) AGAINST ('orange') OR MATCH (l.location_name) AGAINST ('orange') OR MATCH (p.price_name) AGAINST ('orange') ) ) 

на столах у меня есть:

фрукты

FULLTEXT KEY `fruits_name` (`fruits_name`),
FULLTEXT KEY `fruits_description` (`fruits_description`),
FULLTEXT KEY `address` (`address`),
FULLTEXT KEY `instagram_tag` (`instagram_tag`)

категории

FULLTEXT KEY `cat_name` (`cat_name`)

место нахождения

FULLTEXT KEY `location_name` (`location_name`)

цена

FULLTEXT KEY `price_name` (`price_name`)

И я получаю эту ошибку:

Can't find FULLTEXT index matching the column list
Автор: bad boy Источник Размещён: 24.10.2019 03:08

Ответы (1)


1 плюс

Решение

Проблема в том, что вы проиндексировали свои поля отдельно в таблице фруктов, но вы пытаетесь искать их комбинированным способом в своем запросе! Удалите существующие полнотекстовые индексы в таблице фруктов и создайте новый составной индекс для этих 4 полей.

Автор: Shadow Размещён: 06.02.2016 03:46
Вопросы из категории :
32x32