coreseek 遇到的问题

18 篇文章 0 订阅
16 篇文章 0 订阅

  • 搜索英文问题

问题描述:

被搜索名字为:andy

这时搜索andy正常,但是搜索a就搜不到。



解决办法,在索引配置文件中的index中添加

min_infix_len = 1

最后还要重新索引一下/usr/local/coreseek/bin/indexer -c mysql.conf mysql --rotate

上面的命令不要直接复制确定好自己coreseek的安装目录找到bin下面的命令才行


  • 匹配到的结果是只有搜索到的总数的一部分
问题描述:搜索到的结果总是total为:120。 匹配到的结果只有19条

解决办法:
在php代码中加入$sp->SetLimits(0,1000,1000);


  • 中文搜索无结果集
问题描述:数据库中含有"好"的数据有很多条,可是使用coreseek搜索出来却一条都没有。
问题原因:数据库字符集不是utf8
解决办法:登陆mysql查看编码格式:
mysql> SHOW VARIABLES LIKE 'character_set_%'; 
+--------------------------+----------------------------+ 
| Variable_name | Value | 
+--------------------------+----------------------------+ 
| character_set_client | latin1 | 
| character_set_connection | latin1 | 
| character_set_database | latin1 | 
| character_set_results | latin1 | 
| character_set_server | latin1 | 
| character_set_system | utf8 | 
| character_sets_dir | /usr/share/mysql/charsets/ | 
+--------------------------+----------------------------+ 
7 rows in set (0.00 sec) 

复制/usr/share/doc/mysql-server-5.1.69/my-large.cnf文件到/etc/my.cnf
cp /usr/share/doc/mysql-server-4.1.12/my-large.cnf  /etc/my.cnf

3、打开my.cnf修改编码
vi /etc/my.cnf
在[mysqld]下添加
default-character-set=utf8

在[client]下添加
default-character-set=utf8

4、重启MySQL服务
service mysqld restert

5、登录mysql看看修改成功否
 show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
如果显示以上信息表示修改成功了


这时重新建立索引发现还是没有任何结果。
最后再将数据库,表,字段字符集全部改成utf8
修改数据库成utf8的.
mysql> alter database name character set utf8; 

修改表默认用utf8.
mysql> alter table type character set utf8; 

修改字段用utf8
mysql> alter table type modify type_name varchar(50) CHARACTER SET utf8; 



2013-11-14添加:
coreseek 建立的索引文档有1703条而搜索出来只有1702条
原因是:数据库中有一条数据位空,导致coreseek建立索引的时候索引值为空。所以搜索的时候就少了一条。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值