sphinx匹配问题
程序员文章站
2024-01-08 08:17:52
...
配置好像是没什么问题的,在命令行下可以取得匹配结果,但是引入到PHP中却没有结果,用的是CORESEEK。
今天刚学sphinx,不知是哪里出了问题,上网查也没碰到类似问题:
这是配置文件:
这是PHP测试代码:
数据库编码如下:
在命令行下是可以返回结果的:
C:\windows\system32>E:\CodeEdit\php\ciba\niujin-alpha\sphinx\bin\search.exe --c
onfig E:\CodeEdit\php\ciba\niujin-alpha\sphinx\sphinx.conf man
Coreseek Fulltext 3.2 [ Sphinx 0.9.9-release (r2117)]
Copyright (c) 2007-2011,
Beijing Choice Software Technologies Inc (http://www.coreseek.com)
using config file 'E:\CodeEdit\php\ciba\niujin-alpha\sphinx\sphinx.conf'...
index 'cetsix': query 'man ': returned 199 matches of 199 total in 0.001 sec
displaying matches:
1. document=4, weight=1
2. document=10, weight=1
3. document=24, weight=1
4. document=45, weight=1
5. document=186, weight=1
6. document=193, weight=1
7. document=239, weight=1
8. document=240, weight=1
9. document=394, weight=1
10. document=454, weight=1
11. document=466, weight=1
12. document=483, weight=1
13. document=514, weight=1
14. document=543, weight=1
15. document=653, weight=1
16. document=750, weight=1
17. document=930, weight=1
服务也启动正常。。 真不知道是哪里出了问题
今天刚学sphinx,不知是哪里出了问题,上网查也没碰到类似问题:
这是配置文件:
#MySQL数据源配置,详情请查看:http://www.coreseek.cn/products-install/mysql/#请先将var/test/documents.sql导入数据库,并配置好以下的MySQL用户密码数据库#源定义source cetsix{ type = mysql sql_host = localhost sql_user = root sql_pass = cai123 sql_db = words sql_port = 3306 sql_query_pre = SET NAMES UTF8 sql_query = SELECT id, meaning ,lx FROM cetsix}#index定义index cetsix{ source = cetsix #对应的source名称 path = E:\CodeEdit\php\ciba\niujin-alpha\sphinx\var\data\cetsix docinfo = extern mlock = 0 morphology = none min_word_len = 1 html_strip = 0 charset_dictpath = E:\CodeEdit\php\ciba\niujin-alpha\sphinx\etc charset_type = utf-8}indexer{ mem_limit = 128M}#searchd服务定义searchd{ listen = 3312 read_timeout = 5 max_children = 30 max_matches = 100 seamless_rotate = 1 preopen_indexes = 0 unlink_old = 1 #最大允许的过滤器数 max_filters = 256 #每个过滤器最大允许的值的个数 max_filter_values = 4096 #日志文件保存路径 pid_file = E:\CodeEdit\php\ciba\niujin-alpha\sphinx\var\log\searchd_mysql.pid log = E:\CodeEdit\php\ciba\niujin-alpha\sphinx\var\log\searchd_mysql.log query_log = E:\CodeEdit\php\ciba\niujin-alpha\sphinx\var\log\query_mysql.log }
这是PHP测试代码:
setServer("127.0.0.1", 3312);$sphinx->setMatchMode('SPH_MATCH_ANY');$res = $sphinx->query('man', "cetsix");var_dump($res);?>
数据库编码如下:
mysql> SHOW CREATE TABLE cetsix -> ;+--------+---------------------------------------------------| Table | Create Table+--------+---------------------------------------------------| cetsix | CREATE TABLE `cetsix` ( `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `word` varchar(255) NOT NULL, `meaning` varchar(255) NOT NULL, `lx` text NOT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=13325 DEFAULT CHARSET=utf8 |+--------+---------------------------------------------------
在命令行下是可以返回结果的:
C:\windows\system32>E:\CodeEdit\php\ciba\niujin-alpha\sphinx\bin\search.exe --c
onfig E:\CodeEdit\php\ciba\niujin-alpha\sphinx\sphinx.conf man
Coreseek Fulltext 3.2 [ Sphinx 0.9.9-release (r2117)]
Copyright (c) 2007-2011,
Beijing Choice Software Technologies Inc (http://www.coreseek.com)
using config file 'E:\CodeEdit\php\ciba\niujin-alpha\sphinx\sphinx.conf'...
index 'cetsix': query 'man ': returned 199 matches of 199 total in 0.001 sec
displaying matches:
1. document=4, weight=1
2. document=10, weight=1
3. document=24, weight=1
4. document=45, weight=1
5. document=186, weight=1
6. document=193, weight=1
7. document=239, weight=1
8. document=240, weight=1
9. document=394, weight=1
10. document=454, weight=1
11. document=466, weight=1
12. document=483, weight=1
13. document=514, weight=1
14. document=543, weight=1
15. document=653, weight=1
16. document=750, weight=1
17. document=930, weight=1
服务也启动正常。。 真不知道是哪里出了问题
回复讨论(解决方案)
看了下手册又解决了,送分拉
我去 大早上的看见有人送分
接分啦