欢迎使用CSDN-markdown编辑器
来源:互联网 发布:登录别人淘宝有提示吗 编辑:程序博客网 时间:2024/06/15 12:07
(一)、前期准备
下载sphinx
地址
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程序来生成所有索引
如果只想对某个数据源进行索引,则可以这样:
e:\coreseek\bin\indexer –config e:\coreseek\etc\mysql.conf #索引名称(索引名称指配置文件中所定义的)
4)、启动Sphinx
e:\coreseek\bin\searchd –config e:\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
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- Guava学习笔记:Google Guava 类库简介
- 向文件中写入数据读取数据的几种方式
- 278. First Bad Version
- Android Studio编译错误汇总
- 政治常识扫盲
- 欢迎使用CSDN-markdown编辑器
- 第三次实验:安装pig
- UITableView的常用方法和属性
- C语言中 sizeof 运算的值是在编译时还是运行时确定的?
- 机器视觉中的图像积分图及其实现
- 关于一个时间补充的问题
- Civilization V and Beyond Earth
- 关于部门后端全部转向java前初步设想
- 使用drawerLayout布局报错