zoukankan      html  css  js  c++  java
  • Windows下安装 使用coreseek

    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 est下(位置随意);
      2、“开始”——>“运行”——>输入cmd,打开命令行窗口——>执行 "F: 回车"——>执行 "cd wwwcoreseek",进入到 coreseek目录下;
      3、执行 "set PATH=?%in;%PATH%"。设置path,目的是为了能够调用bin目录下的 cat.exe、iconv.exe 等;
      4、首先创建索引:

        4.1:修改配置文件.coreseeketccsft_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在命令行窗口进行索引创建 执行命令如下: binindexer -c etccsft_mysql.conf --all

        5、将 searchd 安装成为一个服务。执行命令如下: binsearchd -c etccsft_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();

    运行结果展示如下:

     
  • 相关阅读:
    DOM
    ES6的export和import
    JavaScript:Location
    垃圾回收机制之一:标记删除算法
    KnockoutJS:
    package.json
    2016/7/27
    requirejs:研究笔记
    postmessage/cors跨域postMessage、xhr2和xmldomain
    javascript:算法之数组sort排序
  • 原文地址:https://www.cnblogs.com/laowenBlog/p/5251855.html
Copyright © 2011-2022 走看看