SELECT * FROM data_post WHERE match (search_Content) AGAINST ('为什么') ) LIMIT 20
search_Content 设置了 fulltext
数据量也有几万条,里面也包含了大量的'为什么'关键词
但是就是查询不到数据.
是MySQL8...请问有什么地方没有配置正确吗?
以下回答引用自chatGpt, 有用的话,请采纳哇!!!
可能是因为MySQL的全文搜索功能需要配置一些参数才能正常使用。请确认以下几点是否正确配置:
数据库引擎必须是MyISAM或InnoDB,因为只有这两种引擎支持全文搜索。
需要为搜索字段创建全文索引,可以使用以下命令创建:
ALTER TABLE data_post ADD FULLTEXT(search_Content);
确认MySQL的全文搜索参数是否正确配置,可以使用以下命令查看:
SHOW VARIABLES LIKE 'ft_%';
确认以下参数是否正确配置:
如果以上步骤都已正确配置,但仍然无法查询到数据,可以尝试使用以下命令进行查询:
SELECT * FROM data_post WHERE MATCH(search_Content) AGAINST('为什么' IN BOOLEAN MODE);
其中,IN BOOLEAN MODE表示使用布尔模式进行搜索,可以更精确地匹配关键词。如果还有问题,请提供更多详细信息以便进一步排查。