收 藏 投 稿 繁 体 RSS 
站长吧-中国站长学习与交流的网站
首 页 运 营 学 院 建 站 论 坛
Web master8.net  
 网站运营  
  欢迎在本站发布信息,在线投递稿件请点这里。编辑QQ:4908220,欢迎联系交流。
业界动态 创业故事 推广研究 策划盈利 电子商务 企业平台
  站长工具
SEO查询 Whois查询 Pr查询 域名查询 IP查询 网页编辑器
 建站服务  
  如有建站意向,请尽快联系我们,以便安排时间... 建站服务 QQ4908220 QQ:4908220
作品展示 服务范围 服务流程 服务报价 联系方式 付款方式
文章正文  » 您的当前位置: 首页 >> 学院 >> 数据库 >> MySQL
在mysql中使用全文索引fulltext
  来源:一个不留 作者:一个不留 | 时间:2007-07-18 | 浏览:   相关评论 | 报告错误 | 发布文章
【字号: | | 】 【背景色 杏仁黄 秋叶褐 胭脂红 芥末绿 天蓝 雪青 灰 银河白(默认色)

    全文检索在 MySQL 中就是一个 FULLTEXT 类型索引。FULLTEXT 索引用于 MyISAM 表,可以在 CREATE TABLE 时或之后使用 ALTER TABLE 或 CREATE INDEX 在 CHAR、VARCHAR 或 TEXT 列上创建。对于大的数据库,将数据装载到一个没有 FULLTEXT 索引的表中,然后再使用 ALTER TABLE (或 CREATE INDEX) 创建索引,这将是非常快的。将数据装载到一个已经有 FULLTEXT 索引的表中,将是非常慢的。

1.使用Mysql全文检索fulltext的先决条件
     表的类型必须是MyISAM
    建立全文检索的字段类型必须是char,varchar,text

 

2.建立全文检索先期配置
   由于Mysql的默认配置是索引的词的长度是4,所以要支持中文单字的话,首先更改这个.
   *Unix用户要修改my.cnf,一般此文件在/etc/my.cnf,如果没有找到,先查找一下find / -name 'my.cnf'
   在 [mysqld] 位置内加入:  

        ft_min_word_len     = 2

   其它属性还有
       
ft_wordlist_charset = gbk
        ft_wordlist_file    = /home/soft/mysql/share/mysql/wordlist-gbk.txt
        ft_stopword_file    = /home/soft/mysql/share/mysql/stopwords-gbk.txt

 稍微解释一下:
        ft_wordlist_charset 表示词典的字符集, 目前支持良好的有(UTF-8, gbk, gb2312, big5)
        ft_wordlist_file    是词表文件, 每行包括一个词及其词频(用若干制表符或空格分开,消岐专用)
        ft_stopword_file    表示过滤掉不索引的词表, 一行一个.
        ft_min_word_len     加入索引的词的最小长度, 缺省是 4, 为了支持中文单字故改为 2

 

3.建立全文检索
    在建表中用FullText关键字标识字段,已存在的表用 ALTER TABLE (或 CREATE INDEX) 创建索引
    CREATE fulltext INDEX index_name ON table_name(colum_name);


   

4.使用全文检索
     在SELECT的WHERE字句中用MATCH函数,索引的关键词用AGAINST标识,IN BOOLEAN MODE是只有含有关键字就行,不用在乎位置,是不是起启位置.
    SELECT * FROM articles WHERE MATCH (tags) AGAINST ('旅游' IN BOOLEAN MODE);

 

5.详细的说明请参数Mysql官方网站
    http://dev.mysql.com/doc/refman/5.1/zh/functions.html#fulltext-search
    这是Mysql 5.1的,不过4.X也可以做为参考,基本一置.我用的就是Mysql 4.1.

master8
  • 上一篇:如何查看域名是否被K过
  • 下一篇:金山员工痛批RSS:是一场阅读焦虑的灾难

  • 我要投稿  打印本文  推荐本文  加入收藏  返回顶部  关闭窗口
    搜模板(www.somoban.com) 原创网站模板交易平台
    阿里妈妈再掀疯狂采购风,网站广告位严重告急,急召天下站长
    基于PHP+MySQL的整站、模块、插件开发等或者按需求实现相应功能;
基于各PHP主流建站系统CMS,BBS,BLOG等的模板定制,完全手写代码;
整站数据迁移或备份恢复;网页代码优化、重构;整站常规SEO优化;网站技术支持;
点击了解详情...
    站长论坛
    • 验证码: