- 序
- 一安装配置wampserver
- 二下载coreseek
- 三配置及其启动
最近几天给朋友搭建了个社工库,框架是Sphinx+PHP+MySQL。但是源码附带文档写的很烂,而且是Linux下的, 所以找了些相关资料配置了下,写出来分享给大家。大致源码效果图如下(可自行搜索源码下载):
代码资源截图如下:

序
这里只提供配置,不提供数据,因为我也没有,相当于技术研究。
简单介绍下吧,Sphinx是一个基于SQL的全文检索引擎,在数据库数据量比较大的时候可以派上用场,检索效率高,具体概念百度百科上也有。而coreseek是基于sphinx的一个框架,并且支持中文分词库。也就是说装coreeek就够了(下图中的描述也很清楚,coreseek里面已经包含了mmseg,sphinxse,php的接口,注意mysql其实不一定非要是5.5.15版本,这个就不用多说了),官网下载连接如下:
传送门
注意:本文可能需要一定从事编程行业的基础知识,纯小白需要自己查清楚这些概念。
环境:windows7。
一、安装配置wampserver:
wampserver集成了appache,php,mysql,能够比较便捷的搭建web端,概念就不多说配置方法自行百度,要能跑起web来,有机会再写吧。
比较懒,直接丢个连接(随便找的连接,如果需要自己找更好):
传送门
配置好之后,把代码放到你配置的wamserver的web目录下(忽略txt文件夹,style.css,test.php这几个是我自己改的):

安装navicat(连接mysql的工具),自行从网上去查找下载破解版,安装完成后要能连上,连上之后,
运行以下命令,创建mysql用户和数据库:
CREATE DATABASE `Worker`;
GRANT USAGE ON *.* TO 'ygg'@'localhost' IDENTIFIED BY '654321';
GRANT SELECT, INSERT, UPDATE , DELETE, CREATE ON `Worker`.* TO 'ygg'@'localhost';
二、下载coreseek:
1、安装coreseek:
下载好coreseek解压到你想要的目录下,就算安装好了(忽略start.cm
d,那是我写的启动脚本):
图里已经说得很清楚了,那我就不在多说:
2、测试coreseek:
测试方法其实不是很想多说,但有助于配置,引用下别人的
传送门:
第1步:在mysql导入测试数据:
随便建立个用户表,插几条数据
use worker;
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`id` int(9) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(255) default NULL,
`password` varchar(255) default NULL,
`email` varchar(255) default NULL,
KEY `username` (`username`),
KEY `email` (`email`)
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
INSERT INTO `users` VALUES (1,'acn', '123456', '[email protected]');
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
第2步:建立配置文件:
在之前的安装的coreseek-4.1-win32\etc目录下建立一个test.conf,将其内容改为下面这些:
source mysql
{
type = mysql
sql_host = localhost
sql_user = ygg
sql_pass = 654321
sql_db = worker
sql_port = 3306
sql_query_pre = SET NAMES utf8
sql_query = SELECT id,username,email FROM members
sql_attr_timestamp = addtime
}
index mysql
{
source = mysql
path = E:/coreseek-4.1-win32/var/data/test
charset_dictpath = E:/coreseek-4.1-win32/etc/
charset_type = zh_cn.utf-8
}
searchd
{
listen = 9312
max_matches = 1000
pid_file = E:/coreseek-4.1-win32/var/log/searchd_mysql.pid
log = E:/coreseek-4.1-win32/var/log/searchd_mysql.log
query_log = E:/coreseek-4.1-win32/var/log/query_mysql.log
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
大多数参数挺简单,就不多说,理解下。
第3步:生成索引:
打开cmd
输入:
E:\coreseek-4.1-win32\bin\indexer –c E:\coreseek-4.1-win32\etc\test.conf –all 生成索引。
第4步:启动Sphinx:
同样命令行下 :
E:\coreseek-4.1-win32\bin\searchd –c E:\coreseek-4.1-win32\etc\test.conf
三、配置及其启动:
修改mysqlcsft.conf为如下(当然数据库,用户名这些自己看着替换)并放在E:\coreseek-4.1-win32\etc目录下:
source spdb1
{
type = mysql
sql_host = 127.0.0.1
sql_user = ygg
sql_pass = 654321
sql_db = worker
sql_port = 3306
sql_query_pre = SET NAMES utf8
sql_query = SELECT `id`, 1 AS table_id, `username`, `email`, `password` FROM spdb1
sql_attr_uint = table_id
sql_query_info_pre = SET NAMES utf8
sql_query_info = SELECT * WHERE ID=$id
}
source spdb2 : spdb1
{
sql_query = SELECT `id`, 2 AS table_id, `username`, `email`, `password` FROM spdb2
}
source spdb3 : spdb1
{
sql_query = SELECT `id`, 3 AS table_id, `username`, `email`, `password` FROM spdb3
}
source spdb4 : spdb1
{
sql_query = SELECT `id`, 4 AS table_id, `username`, `email`, `password` FROM spdb4
}
source spdb5 : spdb1
{
sql_query = SELECT `id`, 5 AS table_id, `username`, `email`, `password` FROM spdb5
}
index spdb1
{
source = spdb1
path = E:/coreseek-4.1-win32/var/data/spdb1
docinfo = extern
mlock = 0
morphology = none
min_word_len = 1
ondisk_dict = 1
html_strip = 0
charset_dictpath = E:/coreseek-4.1-win32/etc/
charset_type = zh_cn.utf-8
enable_star = 0
min_infix_len=1
infix_fields= username,email
}
index spdb2 : spdb1
{
source = spdb2
path = E:/coreseek-4.1-win32/var/data/spdb2
}
index spdb3 : spdb1
{
source = spdb3
path = E:/coreseek-4.1-win32/var/data/spdb3
}
index spdb4 : spdb1
{
source = spdb4
path = E:/coreseek-4.1-win32/var/data/spdb4
}
index spdb5 : spdb1
{
source = spdb5
path = E:/coreseek-4.1-win32/var/data/spdb5
}
indexer
{
mem_limit = 512M
}
searchd
{
listen = 9312
read_timeout = 5
max_children = 30
max_matches = 1000
seamless_rotate = 0
preopen_indexes = 0
unlink_old = 1
pid_file = E:/coreseek-4.1-win32/var/log/searchd.pid
log = E:/coreseek-4.1-win32/var/log/searchd.log
query_log = E:/coreseek-4.1-win32/var/log/query.log
binlog_path =
compat_sphinxql_magics = 0
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
在E:\coreseek-4.1-win32目录下创建start.cmd脚本,以后启动就通过它来
如图:
内容如下:
@SET path=.;bin;%path%
@indexer -c etc\mysqlcsft.conf --all
@searchd -c etc\mysqlcsft.conf
修改index.php,把mysql密码等数据修改过来:
$cl->SetServer('127.0.0.1', 9312);
$cl->SetConnectTimeout(3);
$cl->SetArrayResult(true);
$cl->SetMatchMode(SPH_MATCH_PHRASE);
if (!empty($_GET) && !empty($_GET['p']))
{
$p = !intval(trim($_GET['p'])) == 0 ? intval(trim($_GET['p'])) - 1 : 0;
$p = $p * 20;
$cl->setLimits($p, 20);
} else
{
$cl->setLimits(0, 20);
}
$res = $cl->Query("$Keywords", "*");
@mysql_connect("127.0.0.1", "ygg", "654321");
mysql_select_db("worker");
mysql_query("set names utf8");
$tables = ['spdb1' ,'spdb2','spdb3','spdb4','spdb5'];
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
基本上就都修改完成了,可以直接启动,先启动wampserver,然后双击start.cmd启动coreseek:
这样就完成了。慢慢导入数据吧。
文章来源:http://blog.csdn.net/zy19940906/article/details/60467450