当前位置:Gxlcms > PHP教程 > sphinx匹配有关问题

sphinx匹配有关问题

时间:2021-07-01 10:21:17 帮助过:21人阅读

sphinx匹配问题
配置好像是没什么问题的,在命令行下可以取得匹配结果,但是引入到PHP中却没有结果,用的是CORESEEK。
今天刚学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测试代码:

header("content-type: text/html; charset=utf-8");
require_once "sphinxapi.php";
$sphinx = new SphinxClient();
$sphinx->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

服务也启动正常。。 真不知道是哪里出了问题

------解决思路----------------------
我去 大早上的看见有人送分
------解决思路----------------------
接分啦

人气教程排行