• window环境下,php+sphinx+coreseek实现简单的中文全文搜索


    就以我个人理解来说,sphinx其实是介于客户端和mysql之间的一个索引表,把数据库的没一条记录假设为文档,那么这个索引表其实保存的就是这条记录的关键词及其对应的文档id

    1.sphinx的安装

    下载地址http://pecl.php.net/package/sphinx,找到对应的版本下载好即可

    下载完之后,把文件解压后把php_sphinx.dll和php_sphinx.pdb文件复制到本地环境的ext文件夹下,在php.ini文件加上extension=php_sphinx.dll,重启Apache

    输出phpInfo(),能看到sphinx的扩展库

    2.coreseek

    为什么要安装sphinx呢?其实因为coreseek就是sphinx+mmseg(中文分词技术),使用coreseek其实就是在调用sphinx

    下载地址http://www.coreseek.cn/news/14/54/

    选择需要的版本下载即可

    解压文件后,把文件夹内的文件复制到D盘下的coreseek文件夹(不需要特定路径,只要能找到就好)

    在ect目录下找到csft_mysql.conf文件,将其复制到bin目录下,并重命名为scft.conf(coreseek默认读取名为scft.conf的配置文件,不过配置文件能修改)

    打开scft.conf配置文件,修改配置

    本文以test2数据库中的test表为例,其字段信息分别是id,title,content

    先看源定义,sql_host,sql_user,sql_pass等这些简单的配置就不说了,sql_query是你定义全文索引时需要被索引的字段,sql_query_info定义需要从哪个数据表读取源数据信息

    再来看看主索引文件,path是保存索引的位置,charset_dictpath是你读取分词文件的位置

    其余的indexer(生成索引),searchd(开启服务)等配置,只要改一下相应的文件路径即可,比如log等参数

    3.开启服务

    打开cmd窗口,进入到coreseek的bin目录下,运行indexer --all命令,生成索引

    之后开启输入searchd.exe命令开启服务

    3.结合php使用进行全文搜索

    这是插入的测试数据 

    php的测试代码

     测试结果

    coreseek的配置除了多了个中文分词的配置之外,其余和sphinx的配置一样,所以这里就不再说明sphinx的配置了,至于关于sphinx更多的高级用法,可以去查看php文档的sphinx模块

  • 相关阅读:
    【原创】用一个登陆的例子详细学习ObjectC基本语法
    一篇不错的讲解Java异常的文章(转载)
    在XML文件中定义动画(1)
    列表异步线程加载图片
    如何解决加载大图片时内存溢出的问题
    ImageView加载当地和网络图片
    不等号运算符<>
    vue回到顶部组件
    js实现多标签页效果
    微信小程序播放视频发送弹幕效果
  • 原文地址:https://www.cnblogs.com/zhp-king/p/6554890.html
Copyright © 2020-2023  润新知