mysql - 全文搜索在多列中不起作用
问题描述
SELECT `id`, `name`, `frontCover`, `type`, `category`, `user`, `author`, `MRP`, `sellingPrice`, `isNew`, `isRaw`, `binding`, `publisherName`, `publicationYear`, (MATCH name,author AGAINST ("made easy editorial board" IN BOOLEAN MODE)) AS relevance FROM `books` WHERE LOWER(type) = 'college' AND (MATCH name,author AGAINST ('made easy editorial board' IN BOOLEAN MODE)) AND `status` = 1 ORDER BY `relevance` DESC
尝试运行查询时,它给了我错误
#1191 - Can't find FULLTEXT index matching the column list
我添加了姓名和作者全文索引。但是当我运行单列时它可以工作。我需要从两列匹配结果中获取。
解决方案
当您在查询中使用两列时,您需要两列上的组合 FULLTEXT 索引。
ALTER TABLE `books`
ADD FULLTEXT INDEX `IDX_FULLTEXT_NAME_AUTHOR` (`name` ASC, `author` ASC);
推荐阅读
- python - 使用 kwargs(或 args)而不是简单的 dict 有什么好处?
- react-native - 如何在 redux 的动作上调用动作?
- c# - 将方法调用委托给另一个方法
- ruby - Cucumber ruby 如何使用 ParameterType 来转换给定的表达式?
- kotlin - BLE Advertise 数据大小限制
- docker - Docker toolbox volume mounting not working on windows 10
- elm - Unregister multiple subscribers from a given port
- powershell - 使用 powershell 从文本文件中读取内容并将每个单词存储在字符串数组中
- r - 如何从这些数据框中创建子集?
- c++ - 链接器错误:“无法向后移动位置计数器(从 200009f8 到 20000800)”