利用Coreseek搭建基于MYSQL和PHP的搜索引擎

主要分为三步:

1)准备工作

2)合并词库

  • 步骤1:单词排序
  • 步骤2:词库合并(重新计算词频)

3)配置 Coreseek

  • 参数配置
    source mysql
    {
        type                    = mysql
        ...
        sql_query_pre           = SET NAMES utf8
        ...
        sql_query_info_pre      = SET NAMES utf8
        ...
    }
    
    index mysql
    {
        source                  = mysql
        ...
        html_strip              = 0
        ...
        charset_type            = zh_cn.utf-8
    }
    
    indexer
    {
        mem_limit               = 512M
    }
    
    searchd
    {
        listen                  = 9312
        ...
        max_children            = 50
        ...
    }
  • 建立索引
    bin\indexer.exe --config etc\csft_mysql.conf --all
  • 启动服务
    bin\searchd.exe --config etc\csft_mysql.conf
  • 实时查询
    bin\search.exe --config etc\csft_mysql.conf qq

4)编写搜索页面(在 index-mysql.php 基础上)

  • 使用GET传参
    $keys = array();
    $values = array();
    foreach ( $_GET as $k => $v )
    {
        $keys[] = $k;
        $values[] = $v;
    }
  • 设置摘要选项
    $opts = array
    (
        "before_match"      => "<span style='background: yellow'>",
        "after_match"       => "</span>",
        "chunk_separator"   => " ... ",
        "limit"             => 64,
        "around"            => 8,
        "exact_phrase"      => 1,
    );
  • 生成文章摘要
    $docs = Array($value);
    $excerpts = $cl->BuildExcerpts ( $docs, $index, $words, $opts );
  • 输出搜索结果
    $value = strip_tags($excerpts[0], "<span>");
    ...
    print "$attrname = $value<br/>\n";

5)测试搜索性能(略)

  • all
  • extended2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值