在MySQL5.7中找不到与列列表匹配的全文索引

tvz2xvvm  于 2021-06-15  发布在  Mysql
关注(0)|答案(0)|浏览(246)

使用match-against执行查询时出现问题。我使用视图来组合表和结果,然后在该视图上运行查询。问题是,在mariadb 10.1中,查询运行得很好,但在mysql 5.7中,同样的查询会引发以下错误:
找不到与列列表匹配的全文索引
注意:我已经设置了所有相应的全文索引,表格式是innodb。
编辑:这是我的查询:
查看:

  1. CREATE VIEW companies_search AS
  2. SELECT c.*, ci.city_id, ci.city_title, ci.city_title_eng, adr.address_street
  3. FROM `companies` as c
  4. LEFT JOIN `addresses` as adr ON adr.`company_id` = c.`company_id`
  5. LEFT JOIN `cities` as ci ON ci.`city_id` = adr.`city_id`

选择查询:

  1. SELECT c.*, ( score_city * 0.05 + topscore_city * 50 + score_city_e * 0.05 + topscore_city_e * 50 ) as sumar
  2. FROM (SELECT *,
  3. MATCH(city_title) AGAINST ('"Lond"' IN BOOLEAN MODE) AS topscore_city,
  4. MATCH(city_title) AGAINST ('Lond' IN BOOLEAN MODE) AS score_city,
  5. MATCH(city_title_eng) AGAINST ('"Lond"' IN BOOLEAN MODE) AS topscore_city_e,
  6. MATCH(city_title_eng) AGAINST ('Lond' IN BOOLEAN MODE) AS score_city_e
  7. FROM `companies_search` GROUP BY company_title_eng) as c
  8. HAVING sumar > 0
  9. ORDER BY sumar DESC LIMIT 25 OFFSET 0

我会感激任何帮助

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题