欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

sphinx匹配有关问题

程序员文章站 2022-05-16 19:15:59
...
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

服务也启动正常。。 真不知道是哪里出了问题sphinx匹配有关问题

------解决思路----------------------
我去 大早上的看见有人送分
------解决思路----------------------
接分啦sphinx匹配有关问题
sphinx匹配有关问题

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频