【发布时间】:2021-07-22 11:11:29
【问题描述】:
我有一个表,在该表中,我在名为 item_desc 的列中创建了全文索引。
假设表包含三个记录,其中 item_desc 列包含“氯化钠”,如下所示:
- 氯化钠标准溶液
- 5425氯化钠100u
- 氯化钠溶液数量
我有一个以下 (Match, Against) 查询,它应该通过精确匹配记录来返回行,但它只返回前两行与 氯化钠 并且不考虑短语 if它与 QtySodium Chloride 等另一个词连接。
SELECT * FROM tblhugedata WHERE MATCH(Item_desc) AGAINST('"*Sodium Chloride*"' IN BOOLEAN MODE);
以下 LIKE 查询返回预期结果,但我只想使用全文索引。
SELECT * FROM tblhugedata WHERE Item_desc like '%SODIUM CHLORIDE%';
有没有办法通过匹配提取这样的结果,反对方式。
【问题讨论】:
-
去掉星号。 FULLTEXT 不允许使用前导通配符。
标签: mysql full-text-search innodb mysql-5.7 exact-match