【发布时间】:2018-05-06 15:45:52
【问题描述】:
通过使用全文搜索不搜索多个单词的确切值。 这是查询
SELECT * FROM csv WHERE match(data) against('"TMN PANTAI"' IN BOOLEAN MODE)
显示结果,但搜索“TMN”和“PANTAI”和“TMN PANTAI”
如何使用“TMN PANTAI”搜索精确匹配?
【问题讨论】:
标签: mysql
通过使用全文搜索不搜索多个单词的确切值。 这是查询
SELECT * FROM csv WHERE match(data) against('"TMN PANTAI"' IN BOOLEAN MODE)
显示结果,但搜索“TMN”和“PANTAI”和“TMN PANTAI”
如何使用“TMN PANTAI”搜索精确匹配?
【问题讨论】:
标签: mysql
FULL-TEXT 不考虑空间,所以你不能使用它。
如果您仍想利用全文索引,您可以通过使用match against query 进行过滤来缩短结果集,并添加一个额外的LIKE 条件。这将比在整个表上使用 LIKE 查询更有效,因为 LIKE 现在要过滤的记录更少了。
SELECT * FROM csv WHERE match(data) against('+TMN +PANTAI' IN BOOLEAN MODE)
AND data like '%TMN PANTAI%'
【讨论】: