coreseek配置及使用

来源:互联网 发布:aape淘宝正品店 编辑:程序博客网 时间:2024/04/27 20:16

1、下载coreseek, 将名字命名为coreseek, 找到coreseek/etc/csft_mysql.conf ,配置csft_mysql.conf,配置成如下:

#MySQL数据源配置,详情请查看:http://www.coreseek.cn/products-install/mysql/
#请先将var/test/documents.sql导入数据库,并配置好以下的MySQL用户密码数据库


#源定义
source tour
{
    type                    = mysql


    sql_host                = localhost
    sql_user                = root
    sql_pass                = root
    sql_db                    = zhongguo
    sql_port                = 3306
    sql_query_pre            = SET NAMES utf8


    sql_query                = SELECT tid, t_cid, t_title,t_name,t_detail FROM tp_tour
                                                              #sql_query第一列id需为整数
                                                              #title、content作为字符串/文本字段,被全文索引
   
   


    sql_query_info_pre      = SET NAMES utf8                                        #命令行查询时,设置正确的字符集
    #sql_query_info            = SELECT * FROM documents WHERE id=$id #命令行查询时,从数据库读取原始数据信息
}


#index定义
index tour
{
    source            = tour             #对应的source名称
    path            = e:\site\coreseek\data\tour #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
    docinfo            = extern
    mlock            = 0
    morphology        = none
    min_word_len        = 1
    html_strip                = 1


    #中文分词配置,详情请查看:http://www.coreseek.cn/products-install/coreseek_mmseg/
    #charset_dictpath = /usr/local/mmseg3/etc/ #BSD、Linux环境下设置,/符号结尾
    charset_dictpath =e:\site\coreseek\etc\                            #Windows环境下设置,/符号结尾,最好给出绝对路径,例如:C:/usr/local/coreseek/etc/...
    charset_type        = zh_cn.utf-8
}


#全局index定义
indexer
{
    mem_limit            = 128M
}


#searchd服务定义
searchd
{
    listen                  =   9312
    read_timeout        = 5
    max_children        = 30
    max_matches            = 1000
    seamless_rotate        = 0
    preopen_indexes        = 0
    unlink_old            = 1
    pid_file =e:\site\coreseek\var\log\searchd_mysql.pid #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
    log = e:\site\coreseek\var\log\searchd_mysql.log               #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
    query_log = e:\site\coreseek\var\log\query_mysql.log      #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
}


2、安装searchd服务,将文件移入到e:/site/目录下,目录是随意的,自己可以随意放,打开cmd命令窗口,执行e:,在执行cd \site\coreseek\ ,进入coreseek目录下,

执行 "set PATH=%CD%\bin;%PATH%"。设置path,目的是为了能够调用bin目录下的 cat.exe、iconv.exe 等

将 searchd 安装成为一个服务。执行 "bin\searchd --install --config e:/site/coreseek/etc/csft_mysql.conf",安装成功后命令行窗口会提示" services searchd installed successfully".

3、建立索引

建立索引  


e:\site\coreseek\bin\indexer -c e:\site\coreseek\bin\csft_mysql.conf --all             #csft_mysql.conf就是刚刚我们的配置文件

4、测试搜索,

e:\site\coreseek\bin\search -c e:\site\coreseek\bin\csft_mysql.conf 搜索字符串

例如:e:\site\coreseek\bin\search -c e:\site\coreseek\bin\csft_mysql.conf 中国

e:\site\coreseek\bin\search -c e:\site\coreseek\bin\csft_mysql.conf 美国

5、在php中搜索

<?php

header("Content-type:text/html;charset=utf-8");
//var_dump(__ROOT__.'/Home/Tpl/Public/sphinxapi.php');
include getcwd().'/Home/Tpl/Public/sphinxapi.php';
$cl = new SphinxClient();
$cl->SetServer('localhost',9312);
$cl->SetMatchMode(SPH_MATCH_ALL);
$cl->SetArrayResult(true);
$res = $cl->Query("的","*");
echo "<pre>";
var_dump($res);
echo "</pre>";



// include 'sphinxapi.php';
// $s = new SphinxClient;
// $s->setServer("localhost", 9312);
// $res = $s->query('ddddddd', 'tour'); 
// echo "<pre>";
// var_dump($res);
// echo "</pre>";
// $ids    = array_keys($res['matches']);
// var_dump($ids);

0 0