原创:青空酱合天智汇
原创投稿活动:重金悬赏 | 合天原创投稿等你来
---你可曾听过社工库的传说?
声明:本文介绍的安全工具仅用于渗透测试及安全教学使用,禁止任何非法用途
0x00 序言:
咳咳,这里是青空酱。本次为大家带来《手把手教你建立私人数据检索库》系列第二讲之数据的清洗导入与配置。对之前教程还不熟悉的读者可以查看上期文章以流畅的食用本文。
往期文章回顾:手把手教你打造私人大数据检索库(一)
言归正传,本讲分为几个以下部分:
- sphinx相关配置文件的介绍讲解
- 数据的导入,清洗与维护
- 索引生成实操及测试索引
请各位系好安全带,青空酱要发车啦!
最后还请大家持续关注本教程(毕竟我也不是什么鸽子)
0x01 Sphinx配置讲解:
上回我们讲到了sphinx的安装配置,接下来将在这里讲解下相关配置文件。
首先,使用sphinx查询数据的流程如下:
- Sphinx事先生成数据库的全文索引(将索引与数据的id一一对应)
- 后端向Sphinx监听服务发送查询关键字获取相关索引记录,即对应的数据库数据id
- 后端取得数据id后再向数据库发送查询请求获取信息
- 后端将信息返回前端渲染
大致流程介绍完了相比大家对于整个查询过程有了更深一层的理解,也方便进行进一步的讲解。
先放个官方的查询模板方便讲解,随后放本次搭建所用的模板。
索引模板:
source sphinx
{
type = mysql
sql_host = 192.168.1.1
sql_user = test 数据源连接信息
sql_pass = test
sql_db = sphinx //数据库名字
sql_port = 3306 //数据库库端口号
sql_query_pre = SET NAMES utf8 //设置连接字符集
sql_query = SELECT id, title, post_id, user_id,UNIX_TIMESTAMP(dated) as dateline
FROM test //最重要的部分嗷
sql_attr_uint = post_id
sql_attr_uint = user_id
sql_attr_timestamp = dateline 属性字段
}
index sphinx_idx //索引名
{
source = sphinx //这里与上面的source对应
path = /usr/local/coreseek-3.2.14/ var/data/sphinx //索引要存放的位置
docinfo = extern
charset_type = zh_cn.utf-8
charset_dictpath = /usr/local/coreseek-3.2.14/dict/ //字符集文件存放位置
html_strip = 0
}
indexer
{
mem_limit = 512M //用来构建索引的索引器运行所占用的内存
}
searchd
{
port = 9351 //不要被占用哦 netstat -anop|grep 9351 查询服务监听的端口
log = /usr/local/coreseek-3.2.14/ var/log/search_sphinx.log
query_log = /usr/local/coreseek-3.