sphinx笔记
来源:互联网 发布:均值方差模型算法 编辑:程序博客网 时间:2024/06/05 04:10
(一)、前期准备
1、下载sphinx
地址
2、sphinx的目录结构
(二)、使用Sphinx
1、首先得有数据
2、建立Sphinx配置文件
3、生成索引
4、启动Sphinx
5、使用之(调用api或search.exe程序进行查询)
具体如下
2),关于sphinx配置文件
#源定义 需要对数据库里面的哪些数据建立全文索引 diqu,这个diqu可以自定义source diqu{ type = mysql sql_host = localhost sql_user = root sql_pass = root sql_db = sphinxc sql_port = 3306 sql_query_pre = SET NAMES utf8#代表对数据库里的哪张表的哪几个字段建立索引 这里的ID必须叫做id,即使数据库表里面的字段不叫做id,使用别名diqu_id as id sql_query = SELECT id,province_id,province_name,city_id,city_name,county_id,county_name,town_id,town_name,village_id,village_name FROM j_position#sql_query第一列id需为整数#province_id,province_name,city_id,city_name,county_id,county_name,town_id,town_name,village_id,village_name作为字符串/文本字段,被全文索引 #sql_attr_uint = group_id #从SQL读取到的值必须为整数 #sql_attr_timestamp = date_added #从SQL读取到的值必须为整数,作为时间属性 sql_query_info_pre = SET NAMES utf8 #命令行查询时,设置正确的字符集 sql_query_info = SELECT * FROM j_position WHERE id=$id #命令行查询时,从数据库读取原始数据信息}#index定义,索引文件对应的信息,对应的index名称,也可以自定义名称index diqu{ source = diqu #对应的source名称 path = D:/coreseek/var/data/diqu docinfo = extern mlock = 0 morphology = none min_word_len = 1 html_strip = 0 #中文分词配置,详情请查看:http://www.coreseek.cn/products-install/coreseek_mmseg/ #charset_dictpath = /usr/local/mmseg3/etc/ #BSD、Linux环境下设置,/符号结尾 charset_dictpath = D:/coreseek/etc#Windows环境下设置,/符号结尾,最好给出绝对路径,例如:C:/usr/local/coreseek/etc/... charset_type = zh_cn.utf-8}#全局index定义 在建立索引的时候的,可以使用的内存indexer{ mem_limit = 128M}#searchd服务定义,端口默认是9312searchd{ listen = 9312 read_timeout = 5 max_children = 30 max_matches = 1000 seamless_rotate = 0 preopen_indexes = 0 unlink_old = 1 pid_file = D:/coreseek/var/log/searchd_mysql.pid #请修改为实际使用的绝对路径 log = D:/coreseek/var/log/searchd_mysql.log #请修改为实际使用的绝对路径 query_log = D:/coreseek/var/log/query_mysql.log #请修改为实际使用的绝对路径}
3)、生成索引
开始 -> 运行 -> 输入cmd回车,打开命令行工具
e:\coreseek\bin\indexer –config e:\coreseek\etc\mysql.conf –all
这一串东西其实就是调用indexer程序来生成所有索引
如果只想对某个数据源进行索引,则可以这样:
d:\coreseek\bin\indexer –config d:\coreseek\etc\mysql.conf #索引名称(索引名称指配置文件中所定义的)
注意:config和all都前面为两横杆
4)、启动Sphinx
d:\coreseek\bin\searchd –config d:\coreseek\etc\mysql.conf
5)、使用之(调用api或search.exe程序进行查询)
<?php//引入sphinx类require('./sphinxapi.php');//连接服务器$sphinx->SetServer('127.0.0.1',9312);//实例化对象$sphinx = new SphinxClient();//设置返回结果集为php数组格式$sphinx->SetArrayResult ( true );//匹配结果的偏移量,参数的意义依次为:起始位置,返回结果条数,最大匹配条数$sphinx->SetLimits(0, 20, 1000);//最大搜索时间$sphinx->SetMaxQueryTime(10);//使用sphinx返回ID$res = $sphinx->query('海淀');/*header('Content-Type:text/html;charset=utf8');echo "<pre>";var_dump($res);*///连接数据库//根据返回的ID查询//$id = array_keys($res['matches']);$ids = implode(',',$id);/*print_r($ids);exit;*/$sql = "SELECT * FROM j_position WHERE id in($ids)";$link = mysql_connect('localhost','root','root');mysql_select_db('sphinxc');mysql_query('set names utf8',$link);$result = mysql_query($sql);while ($row = mysql_fetch_assoc($result)) { var_dump($row);}mysql_close($link);>
0 0
- sphinx笔记
- sphinx笔记
- Sphinx安装笔记
- sphinx学习笔记1
- sphinx 笔记(不定期更新)
- sphinx使用笔记
- sphinx使用学习笔记
- 用Git+Sphinx记笔记?
- sphinx
- sphinx
- sphinx
- sphinx
- Sphinx
- Sphinx
- Sphinx
- sphinx
- sphinx
- sphinx
- 关于部门后端全部转向java前初步设想
- 使用drawerLayout布局报错
- Andorid通话设置界面添加perference
- ubuntu14.04下caffe只用CPU跑,熟悉一下
- 心跳包机制
- sphinx笔记
- RAID详解[RAID0/RAID1/RAID10/RAID5]
- hive tez-use
- 内存管理的概念和内存分区...
- 2016.1.5
- keytool生成BKS格式的私钥跟信任证书及java实例
- LeetCode: 010 - Number of 1 Bits
- URL Shortening URL 压缩算法
- RxJava中map方法的解析