关于全文检索,请大伙来聊聊,mySql如果做全文检索
JSP+mysql

解决方案 »

  1.   

    MYSQL似乎还不支持中文的全文检索 
      

  2.   

    好像mysql没有全文索引,sql server有,昨天刚试过,不怎么好用
      

  3.   

    mysql> CREATE TABLE articles (
        ->   id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
        ->   title VARCHAR(200),
        ->   body TEXT,
        ->   FULLTEXT (title,body)
        -> );
    Query OK, 0 rows affected (0.00 sec)mysql> INSERT INTO articles (title,body) VALUES
        -> ('MySQL Tutorial','DBMS stands for DataBase ...'),
        -> ('How To Use MySQL Well','After you went through a ...'),
        -> ('Optimizing MySQL','In this tutorial we will show ...'),
        -> ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
        -> ('MySQL vs. YourSQL','In the following database comparison ...'),
        -> ('MySQL Security','When configured properly, MySQL ...');
    Query OK, 6 rows affected (0.00 sec)
    Records: 6  Duplicates: 0  Warnings: 0mysql> SELECT * FROM articles
        -> WHERE MATCH (title,body)
        -> AGAINST ('database' IN NATURAL LANGUAGE MODE);
    +----+-------------------+------------------------------------------+
    | id | title             | body                                     |
    +----+-------------------+------------------------------------------+
    |  5 | MySQL vs. YourSQL | In the following database comparison ... |
    |  1 | MySQL Tutorial    | DBMS stands for DataBase ...             |
    +----+-------------------+------------------------------------------+
    2 rows in set (0.00 sec)
      

  4.   

    哦~~~~~~这样啊,原来我一直都用错了啊。mysql> SELECT * FROM articles
        -> WHERE MATCH (title,body)
        -> AGAINST ('database' IN NATURAL LANGUAGE MODE);
    那么,如果我的表里面,在title这一列也有database这个字串,这个查询语句也会把它查出来吗?
      

  5.   

     title,body都可以查出来的,因为MATCH (title,body)