mysql全文检索
时间:2007-02-18 来源:PHP爱好者
说明:我的mysql的版本是4.0.13,操作系统是win2000。
我创建了test表并插入了几条记录,如下:
CREATE TABLE test(
`a1` varchar(100) NOT NULL default '',
FULLTEXT KEY `a1` (`a1`)
) TYPE=MyISAM;
INSERT INTO `test` (`a1`) VALUES ('成功 运行 一个 JavaBean'),
('jsp 不能 正确显示 数据库 中的汉字'),
('中文 信息 的内容');
以下是我查询时遇到的问题:
例子1:
select * from test where match(a1) against ('javabean 不能' in boolean mode);
+-------------------------+
| a1 |
+-------------------------+
| 成功 运行 一个 JavaBean |
+-------------------------+
1 row in set (0.00 sec)
例子2:
select * from test where match(a1) against ('javabean 中文' in boolean mode);
+-------------------------+
| a1 |
+-------------------------+
| 成功 运行 一个 JavaBean |
| 中文 信息 的内容 |
+-------------------------+
2 row in set (0.00 sec)
例子3:
select * from test where match(a1) against ('中文' in boolean mode);
+-------------------------+
| a1 |
+-------------------------+
| 中文 信息 的内容 |
+-------------------------+
1 row in set (0.00 sec)
例子4:
select * from test where match(a1) against ('不能' in boolean mode);
Empty set (1.00 sec)
为什么会这样,为是用'不能'做关键词的时候查不到结果?如何解决这中文问题?
我创建了test表并插入了几条记录,如下:
CREATE TABLE test(
`a1` varchar(100) NOT NULL default '',
FULLTEXT KEY `a1` (`a1`)
) TYPE=MyISAM;
INSERT INTO `test` (`a1`) VALUES ('成功 运行 一个 JavaBean'),
('jsp 不能 正确显示 数据库 中的汉字'),
('中文 信息 的内容');
以下是我查询时遇到的问题:
例子1:
select * from test where match(a1) against ('javabean 不能' in boolean mode);
+-------------------------+
| a1 |
+-------------------------+
| 成功 运行 一个 JavaBean |
+-------------------------+
1 row in set (0.00 sec)
例子2:
select * from test where match(a1) against ('javabean 中文' in boolean mode);
+-------------------------+
| a1 |
+-------------------------+
| 成功 运行 一个 JavaBean |
| 中文 信息 的内容 |
+-------------------------+
2 row in set (0.00 sec)
例子3:
select * from test where match(a1) against ('中文' in boolean mode);
+-------------------------+
| a1 |
+-------------------------+
| 中文 信息 的内容 |
+-------------------------+
1 row in set (0.00 sec)
例子4:
select * from test where match(a1) against ('不能' in boolean mode);
Empty set (1.00 sec)
为什么会这样,为是用'不能'做关键词的时候查不到结果?如何解决这中文问题?
相关阅读 更多 +