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. bootstrap清除拟态框内添加新HTML再打开时会有缓存现象

    $(function(){ $("#editor").on("hidden.bs.modal",function(){ //清除缓存方法 $(this).fin ...

  2. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  3. IOS - UITableViewCell的选中时的颜色及tableViewCell的selecte与deselecte

    1.系统默认的颜色设置 [cpp] view plaincopy //无色 cell.selectionStyle = UITableViewCellSelectionStyleNone; //蓝色 ...

  4. cookie的设置、获取以及删除

    首先介绍一下cookie的基本信息: cookie是以域为单位的,它必须放在服务器的的环境下,但是cookie的容量小,只有4kb,并且也不安全,还有入股cookie的名字相同,会修改或者覆盖原来的值 ...

  5. class-dump获取iOS私有api

    转自:http://blog.csdn.net/sunyuanyang625/article/details/41440167 获取各类iOS私有api 安装工具class-dump 资源地址http ...

  6. MyBatis mapper文件中的变量引用方式#{}与${}的差别

    MyBatis mapper文件中的变量引用方式#{}与${}的差别 #{},和 ${}传参的区别如下:使用#传入参数是,sql语句解析是会加上"",当成字符串来解析,这样相比于$ ...

  7. MyEclipse生成WAR包并在Tomcat下部署发布(转发)

    从来没有想过web项目还能打包的,但是有要求,就不得不去实现,在网上找了一下,发现挺简单的. 首先是使用MyEclipse将web项目打包,如下图所示. 右键选中项目,选择export. 然后选择J2 ...

  8. Android Programming: Pushing the Limits -- Chapter 5: Android User Interface Operations

    多屏幕 自定义View 多屏幕 @.Android 4.2 开始支持多屏幕. @.举例: public class SecondDisplayDemo extends Activity { priva ...

  9. Delphi的面向对象编程基础笔记

    1.面向对象.一门面向对象的编程语言至少要实现以下三个OOP的概念 封装:把相关的数据和代码结合在一起,并隐藏细节.封装的好处是利用程序的模块化,并把代码和其他代码分开 继承:是指一个新的类能够从父类 ...

  10. 【转载】 Pyqt 利用QDataStream对文件进行存取

    # -*- coding: utf-8 -*- from PyQt4.QtGui import * from PyQt4.QtCore import * import sys QTextCodec.s ...