1.安装

1.01:到官网下载 coreseek-3.2.14

1.01_1 原理

缓存服务器:

准备数据 来自数据库 配置连接  生成索引

开启服务

流程:用户-> web->sphinx->web(ids集合)->mysql->web->人

1.02:安装

  1、下载后解压得到源程序目录 coreseek-3.2.14 ,文件夹重命名一下,简单一些,命名为 coreseek;将 coreseek 文件夹移动到 F:my-php\test\下(位置随意);
  2、“开始”——>“运行”——>输入cmd,打开命令行窗口——>执行 "F: 回车"——>执行 "cd www\coreseek\",进入到 coreseek目录下;
  3、执行 "set PATH=?%\bin;%PATH%"。设置path,目的是为了能够调用bin目录下的 cat.exe、iconv.exe 等;
  4、首先创建索引:

    4.1:修改配置文件.\coreseek\etc\csft_mysql.conf (我用的mysql源) 如下:

    #MySQL数据源配置
    #源定义
    source mysql
    {
        type                   = mysql
        sql_host                  = 127.0.0.1
        sql_user                  = root
        sql_pass                     =
        sql_db                        = php
        sql_port                  = 3306
        sql_query_pre             = SET NAMES utf8
      sql_query                    = SELECT o_id, o_name, o_title FROM otest WHERE o_start = 1
                                                              #sql_query第一列id需为整数
                                                              #title、content作为字符串/文本字段,被全文索引
        sql_query_info_pre      = SET NAMES utf8                                        #命令行查询时,设置正确的字符集
        sql_query_info             = SELECT * FROM otest WHERE o_id=$id #命令行查询时,从数据库读取原始数据信息
    }

    其他的  几个部分  只要将相对路径改为绝对路径就OK了不在进行其他的操作

    4.2在命令行窗口进行索引创建 执行命令如下: bin\indexer -c etc\csft_mysql.conf --all

    5、将 searchd 安装成为一个服务。执行命令如下: bin\searchd -c etc\csft_mysql.conf

  成功如下:

2:使用

 header("content-type:text/html;charset=utf-8");
  //获取到搜索的数据
$keyword = $_POST['search'];
  //实例化sphinx类
$sphinx = new SphinxClient();
  //开启服务
$sphinx->SetServer("localhost",9312);
$sphinx->SetMatchMode(SPH_MATCH_ANY);
  //执行数据搜索
$result=$sphinx->query("$keyword","*");
  //获取到索引里对应的数据
$key = array_keys($result['matches']);
  //转化为字符串
$ids = implode(',',$key);
  //连接数据库
$conn = mysql_connect('localhost','root','root')or die('mysql connect failed');
  //选择数据库
mysql_select_db('test');
  //设置字符集
mysql_set_charset('utf8',$conn);
  //设置查询数据
$sql = "select * from otest where o_id in($ids)";
  //执行查询语句
$res = mysql_query($sql);
  //设置 要追加的标签
$opt = array("before_match"=>"<font style='font-weight:bold;color:#f00'>","after_match"=>"</font>");
  //循环 数据 然后追加标签
while($row=mysql_fetch_assoc($res)){
  $data[] = $sphinx->buildExcerpts($row,'mysql',$keyword,$opt);
 }
  //打印数据
 print_r($data);
  //关闭服务
 $spinx->close(); 运行结果展示如下:

 

Windows下安装 使用coreseek的更多相关文章

  1. Coreseek Windows下安装调试

    由于项目需要全文检索,后面就去网上查了下资料,找到了Sphinx[中文是狮身人面像]这个全文检索引擎,听说挺好用的,不过没有中文分词.后面又去找了一下,找到了Coreseek,一款中文全文检索/搜索软 ...

  2. 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一)

    相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 ...

  3. Windows 下安装 MongoDB

    Windows 下安装 MongoDB 的步骤:1.官网www.mongodb.com下载安装包或zip包2.解压下载的文件到文件夹 D:\mongo .3.使用管理员权限打开CMD,导航到目录 D: ...

  4. 从零开始学 Java - Windows 下安装 Tomcat

    谁都想分一杯羹 没有一个人是真正的无私到伟大的,我们试着说着做自己,与人为善,世界和平!殊不知,他们的真实目的当你知道后,你会被恶心到直摇头并下意识地迅速跑开,下辈子都不想见到他.不过,他没错,你也没 ...

  5. 从零开始学 Java - Windows 下安装 JDK

    关于未来 "我要死在火星.在我死去的时候能够想着人类能有一个美好的未来--有可持续的能源,同时能够殖民其他的星球来避免人类灭绝的最坏可能." 官网下载 直接打开官网:http:// ...

  6. windows下安装nginx

    说起开发,自己感到非常惭愧,由于公司让我给<绿电侠>项目写整体架构解决方案,才开始接触nginx这个东东,突然觉得它是一把非常好的利器. 本文主要记录在windows下安装nginx,另参 ...

  7. Redhat/Ubuntu/Windows下安装Docker

    Redhat/Ubuntu/Windows下安装Docker 什么是Docker Docker是Docker.inc公司开源的一个基于LXC技术之上构建的Container容器引擎,基于Go语言并遵从 ...

  8. Windows下安装Redis

    1.首先,Redis官方是支持Linux系统的,我这里不多说,需要的可以参考:http://www.oschina.net/question/12_18065/ 2.Windows 64位下载地址:h ...

  9. 【转】linux和windows下安装python集成开发环境及其python包

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

随机推荐

  1. HDU 4946 Area of Mushroom (几何凸包)

    题目链接 题意:给定n个人,每个人有一个速度v方向任意.如果平面中存在一个点只有某个人到达的时间最短(即没有人比这个人到的时间更短或相同),那么我们定义这个店归这个人管辖,现在问这些人中哪些人的管辖范 ...

  2. POJ 3185 The Water Bowls (高斯消元)

    题目链接 题意:翻译过来就是20个0或1的开关,每次可以改变相邻三个的状态,问最小改变多少次使得所有开关都置为0,题目保证此题有解. 题解:因为一定有解,所以我们可以正序逆序遍历两次求出较小值即可.当 ...

  3. s:iterator,s:if与OGNL的嵌套使用

    今天在写代码时,遇到个如下问题,要求当前登陆用户的id与系统参数类型代码所属维护人的id相同时,显示单选框.如下效果: 代码如下: <s:iterator value="vo.page ...

  4. cocos2d-x 第三篇 基本概念介绍

    场景(scene): 也有人叫做屏幕或舞台,是一个独立的程序流,一个程序可以有很多场景但当前运行的场景就只有一个.比如游戏中可以有介绍场景,菜单场景,第一关场景,过场1场景,第二关场景,胜利场景等.一 ...

  5. java 500/404错误总结

    404是路径错误,简单的说就是你的页面找不到后台执行它的代码(未找到服务端代码)500最常见的就是你的编程语言语法错误导致的(服务端代码报错)

  6. 模拟赛1101d1

    完美的序列(sequence)Time Limit:1000ms Memory Limit:64MB题目描述LYK 认为一个完美的序列要满足这样的条件:对于任意两个位置上的数都不相同.然而并不是所有的 ...

  7. 《Thinking in Java》十七章_容器深入研究_练习13(Page484)

    练习13: 单词计数器 import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFou ...

  8. Android -- java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

    使用Bundle 的getParcelableArray 出现了以下错误: Class not found when unmarshallingjava.lang.ClassNotFoundExcep ...

  9. HTML5 – 4.canvas

    1.绘制矩形 2.绘制圆形 3.绘制文字 4.保存文件 什么是 Canvas? HTML5 <canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成. < ...

  10. SQLServer系统监控

    http://blog.sina.com.cn/s/blog_519d269c0100gx09.html http://blog.csdn.net/qxlwuyuhui0801/article/det ...