资源描述:
《mysql全文搜索--》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、MySQL全文搜索>> 全文索引在MySQL中是一个FULLTEXT类型索引。FULLTEXT索引用于MyISAM表,可以在CREATETABLE时或之后使用ALTERTABLE或CREATEINDEX在CHAR、VARCHAR或TEXT列上创建。对于大的数据库,将数据装载到一个没有FULLTEXT索引的表中,然后再使用ALTERTABLE(或CREATEINDEX)创建索引,这将是非常快的。将数据装载到一个已经有FULLTEXT索引的表中,将是非常慢的。 全文搜索通过MATCH()函数完成。mysql>CREA
2、TETABLEarticles( -> idINTUNSIGNEDAUTO_INCREMENTNOTNULLPRIMARYKEY, -> titleVARCHAR(200), -> bodyTEXT, -> FULLTEXT(title,body) ->);QueryOK,0roysql>INSERTINTOarticlesVALUES ->(NULL,'MySQLTutorial','DBMSstandsforDataBase...')
3、, ->(NULL,'HoisingMySQL','Inthistutorialysqldasroot.2....'), ->(NULL,'MySQLvs.YourSQL','Inthefolloysql>SELECT*FROMarticles -> ATCH(title,body)AGAINST('database');+----+-------------------+---------------------
4、---------------------+
5、id
6、title
7、body
8、+----+-------------------+------------------------------------------+
9、 5
10、MySQLvs.YourSQL
11、Inthefolloysql>SELECTid,MATCH(title,body)AGAINST('Tutorial')FROMarticles;+----+------------------------
12、-----------------+
13、id
14、MATCH(title,body)AGAINST('Tutorial')
15、+----+-----------------------------------------+
16、 1
17、 0.64840710366884
18、
19、 2
20、 0
21、
22、 3
23、 0.66266459031789
24、
25、 4
26、 0
27、
28、 5
29、 0
30、
31、 6
32、
33、 0
34、+----+-----------------------------------------+ 6roATCH()两次。这不123下一页>>>>这篇文章来自..,。会引起附加的开销,因为MySQL优化器会注意到两次同样的MATCH()调用,并只调用一次全文搜索代码。mysql>SELECTid,body,MATCH(title,body)AGAINST ->('SecurityimplicationsofrunningMySQLasroot')ASscor
35、e ->FROMarticlesATCH(title,body)AGAINST ->('SecurityimplicationsofrunningMySQLasroot');+----+-------------------------------------+-----------------+
36、id
37、body
38、score
39、+----+-------------------------------------+-----------------+
40、
41、 4
42、1.Neverrunmysqldasroot.2....
43、1.5055546709332
44、
45、 6
46、ySQL...
47、 1.31140957288
48、+----+-------------------------------------+-----------------+ 2roysql>SE