mysql - 带有自然语言搜索的 MySQL LIKE 运算符
问题描述
我正在使用由其他人构建的两张表(表 A 和表 B)。我注意到,如果我使用自然语言在表 A 上使用 LIKE 运算符进行搜索,我会得到结果,但是当我在表 B 上使用 LIKE 时,我会得到 0 个结果。一个特殊的事情是,如果搜索查询有四个单词,TABLE B 将返回 1 作为计数结果,例如,"SELECT COUNT(*) FROM Table_A WHERE title LIKE '%Effect of previous exposure%';"
请参见以下示例:
SELECT COUNT(*) FROM Table_A WHERE title LIKE '%Effect of previous exposure to malaria on diabetes type 1.%';
+----------+
| count(*) |
+----------+
| 1 |
+----------+
1 row in set (0.00 sec)
SELECT COUNT(*) FROM Table_B WHERE title LIKE '%Effect of previous exposure to malaria on diabetes type 1.%';
+----------+
| count(*) |
+----------+
| 0 |
+----------+
1 row in set (0.02 sec)
当我运行该SHOW CREATE TABLE
语句时,我得到以下结果;
表 A
ENGINE=InnoDB AUTO_INCREMENT=438 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
表 B:
ENGINE=InnoDB AUTO_INCREMENT=41681 DEFAULT CHARSET=utf8
显然,表引擎之间存在差异。
两个表都在同一个数据库上。可能有什么问题?
解决方案
推荐阅读
- java - 如何知道是否使用 log4j 正确发送了 syslog 消息而不依赖于异常
- c# - 有什么办法可以隐藏铬硒?
- c# - CS0246: 找不到类型或命名空间名称“系统”
- java - 无法使用 ArrayList 初始化 ArrayAdaper:Java
- reactjs - 为 ubuntu 服务器应用更改的命令
- python - 使用 CreateView 和 forms.Modelform 为 django 模型创建表单的区别?
- flutter - 如何在颤振中添加专辑封面
- angular - 服务器重新启动时自动重新连接 SignalR 客户端
- html - 如何在 CSS 中设置 rel=preload?
- ios - 关闭视图控制器时在 UITableViewCell 中保存 UICollectionView 的选定状态