zoukankan      html  css  js  c++  java
  • 在Windows7上安装coreseek3.2同时在PHP下简单实现步骤

    这两天安装了coreseek+sphinx服务,前面装的是比较低版本的,再试了一下官网比较稳定一个版本
    1.首先下载:因为包有点大,就不在这里增加链接了,需要可以到官网下载 coreseek-3.2.14-win32.zip
    2.将你下载的.zip文件解压
    3.把解压成的文件放到D:web目录下,重命名为sphinx(目录路径可以根据自己的需要来设定)

    4.复制etc下csft_mysql.conf文件到bin目录下并重命名csft.conf
    5.根据自己的本地环境,修改csft.conf配置:
    这是我操作的配置:
     

    PHP Code复制内容到剪贴板
    1. #MySQL数据源配置,详情请查看:http://www.coreseek.cn/products-install/mysql/  
    2. #请先将var/test/documents.sql导入数据库,并配置好以下的MySQL用户密码数据库  
    3.   
    4. #源定义  
    5. source documents  
    6. {  
    7.     type                    = mysql  
    8.   
    9.     sql_host                = localhost  
    10.     sql_user                = root  
    11.     sql_pass                =   
    12.     sql_db                    = test  
    13.     sql_port                = 3306  
    14.     sql_query_pre            = SET NAMES utf8  
    15.   
    16.     sql_query                = SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content FROM documents  
    17.                                                               #sql_query第一列id需为整数  
    18.                                                               #title、content作为字符串/文本字段,被全文索引  
    19.     sql_attr_uint            = group_id           #从SQL读取到的值必须为整数  
    20.     sql_attr_timestamp        = date_added #从SQL读取到的值必须为整数,作为时间属性  
    21.   
    22.     sql_query_info_pre      = SET NAMES utf8                                        #命令行查询时,设置正确的字符集  
    23.     sql_query_info            = SELECT * FROM documents WHERE id=$id #命令行查询时,从数据库读取原始数据信息  
    24. }  
    25.   
    26. #index定义  
    27. index documents  
    28. {  
    29.     source            = documents             #对应的source名称  
    30.     path            = d:/web/sphinx/var/data/documents #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...  
    31.     docinfo            = extern  
    32.     mlock            = 0  
    33.     morphology        = none  
    34.     min_word_len        = 1  
    35.     html_strip                = 0  
    36.   
    37.     #中文分词配置,详情请查看:http://www.coreseek.cn/products-install/coreseek_mmseg/  
    38.     #charset_dictpath = /usr/local/mmseg3/etc/ #BSD、Linux环境下设置,/符号结尾  
    39.     charset_dictpath = d:/web/sphinx/etc/                            #Windows环境下设置,/符号结尾,最好给出绝对路径,例如:C:/usr/local/coreseek/etc/...  
    40.     charset_type        = zh_cn.utf-8  
    41. }  
    42.   
    43. #全局index定义  
    44. indexer  
    45. {  
    46.     mem_limit            = 128M  
    47. }  
    48.   
    49. #searchd服务定义  
    50. searchd  
    51. {  
    52.     listen                  =   9312  
    53.     read_timeout        = 5  
    54.     max_children        = 30  
    55.     max_matches            = 1000  
    56.     seamless_rotate        = 0  
    57.     preopen_indexes        = 0  
    58.     unlink_old            = 1  
    59.     pid_file = d:/web/sphinx/var/log/searchd_mysql.pid  #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...  
    60.     log = d:/web/sphinx/var/log/searchd_mysql.log        #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...  
    61.     query_log = d:/web/sphinx/var/log/query_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...  
    62. }  


    6.在本地建立test数据库,导入var/test下documents.sql
    7.在dos下进入sphinx/bin目录,建立索引
    index.php --all(也可以指定配置文件:indexer.exe --config d:/web/sphinx/bin/csft.conf documents )

    8.search.exe twitter
    显示查找成功,在dos下查找中文是不支持的,所以查找中文我们在PHP下测试

    9.把search定义成守护进程服务
    searchd.exe --config d:/web/sphinx/bin/csft.conf  --install
    在window下就有了一个为searchd的服务,可以在上面点击启动停止操作(删除window服务命令
    sc delete "服务名" (如果服务名中间有空格,就需要前后)
    10.把sphinx下的api文件夹拷贝到web目录下,如无需其它测试文件直接把sphinxapi.php复制过来便可
    新建一个test.php文件,
    复制粘贴以下代码:

    PHP Code复制内容到剪贴板
    1. require 'api/sphinxapi.php';  
    2. $host = "localhost";    
    3. $port = 9312;  
    4. $nowTime = time();    
    5. $sc = new SphinxClient(); // 实例化Api  
    6.   
    7. $sc->setServer($host, $port); // 设置服务端,第一个参数sphinx服务器地址,第二个sphinx监听端口    
    8. $res = $sc->query('浏览速度'); // 执行查询,第一个参数查询的关键字,第二个查询的索引名    
    9. if (!$res) {  
    10.     $error = $sc->GetLastError();  
    11.     var_dump($error);exit;  
    12. }  
    13. $ids = join(',',array_keys($res['matches']));    
    14. print_r($ids); // 获取主键    
    15. exit;  





    结果以下:

    操作成功

    转载于:http://www.9streets.cn/art-php-592.html

  • 相关阅读:
    perl 监控网站域名劫持
    OpenLayers访问Geoserver发布的地图
    基于OpenLayers的地图封装Javascript类定义
    Linux_正则表达式
    Linux_正则表达式
    帆软出品: 7点搞定制药企业数据分析系统开发需求
    帆软出品: 7点搞定制药企业数据分析系统开发需求
    Geoserver地图样式SLD资料收集
    GeoServer地图开发解决方案:地图数据处理篇
    Geoserver发布shapfile,中文字段乱码问题
  • 原文地址:https://www.cnblogs.com/houdj/p/5355887.html
Copyright © 2011-2022 走看看