MySQL数据库针对这一问题提供了一种基于内建的全文查找方式的解决方案。在此,开发者只需要简单地标记出需要全文查找的字段,然后使用特殊的MySQL方法在那些字段运行搜索,这不仅仅提高了性能和效率(因为MySQL数据库对这些字段做了索引来优化搜索),而且实现了更高质量的搜索,因为MySQL使用自然语言来智能地对结果评级,以去掉不相关的项目。下面学步园小编来讲解下怎样在MySQL中获得更好的搜索结果?
怎样在MySQL中获得更好的搜索结果
1、设置基本表格
从创建例子表格开始,使用以下的SQL命令
以下为引用的内容:
mysql>CREATETABLEreviews(idINT(5)
PRIMARYKEYNOTNULLAUTO_INCREMENT,dataTEXT);
以上命令创建了一个简单的音乐专集资料库(主要是整段的文字),然后向这个表格中添加一些记录:
以下为引用的内容:
mysql>INSERTINTO`reviews`(`id`,`data`)VALUES
(1,'GingerboyhasanewsingleoutcalledThrowingRocks.
It\'sgreat!');mysql>INSERTINTO`reviews`(`id`,`data`)
VALUES(2,'Helloall,IreallylikethenewMadonnasingle.
Oneofthehottesttrackscurrentlyplaying...
I\'vebeenlisteningtoitallday');mysql>INSERTINTO`reviews`
(`id`,`data`)VALUES(3,'HaveyouheardthenewbandHotter
ThanHellTheyhavefivemembersandtheyburntheir
instrumentswhentheyplayinconcerts.
Theseguystotallyrock!Like,awesome,dude!');
验证数据的正确录入:
以下为引用的内容:
mysql>SELECT*FROMreviews;
+----+--------------------------------------------+
|id|data|
+----+--------------------------------------------+
|1|Gingerboyhasanewsingleoutcalled...|
|2|Helloall,IreallylikethenewMadon...|
|3|HaveyouheardthenewbandHotterThan...|
3rowsinset(0.00sec)
怎样在MySQL中获得更好的搜索结果
2、定义全文搜索字段
接下来,定义您要作为全文搜索索引的字段
以下为引用的内容:
mysql>ALTERTABLEreviewsADDFULLTEXTINDEX(data);
QueryOK,3rowsaffected(0.21sec)
Records:3Duplicates:0Warnings:0
使用SHOWINDEXES命令来检查索引已经被添加了:
以下为引用的内容:
mysql>SHOWINDEXESFROMreviews;
+---------+---------------+--------+------+------------+---------+
|Table|Column_name|Packed|Null|Index_type|Comment|
----------+---------------+--------+------+------------+---------+
|reviews|id|NULL||BTREE|||
reviews|data|NULL|YES|FULLTEXT||
+---------+---------------+--------+------+------------+---------+
以上就是关于“怎样在MySQL中获得更好的搜索结果”的内容,希望对大家有用。更多资讯请关注学步园。学步园,您学习IT技术的优质平台!