zoukankan      html  css  js  c++  java
  • 安装sphinx

    更新依赖包以及安装编译环境
    yum -y install m4 autoconf automake libtool

    yum -y install gcc gcc-c++ wget

    yum -y install mysql-devel


    下载coreseek

    wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz

    ##mmseg3是一个中文分词插件

    tar xzvf coreseek-3.2.14.tar.gz
    cd coreseek-3.2.14
    cd mmseg-3.2.14/
    ./bootstrap
    ./configure --prefix=/usr/local/mmseg3
    make
    make install

    cd ../csft-3.2.14/
    sh buildconf.sh
    ./configure --prefix=/usr/local/coreseek --without-python --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysql --host=arm

    vi src/sphinxexpr.cpp

    执行完上一步如果报错  就执行下面这一步   如果不报错 就跳过这一步   直接make
    然后将所有的T val = ExprEval ( this->m_pArg, tMatch ).....修改为

    T val = this->ExprEval ( this->m_pArg, tMatch )

    make
    make install
    cd /usr/local/coreseek/etc


    进入配置目录通过命令ls可以看到3个文件
    example.sql  sphinx.conf.dist  sphinx-min.conf.dist
    其中example.sql是示例sql脚本我们将其导入到数据库中的test数据库中作为测试数据(会创建两张表 documents和tags)
    =============================================================================
    vi sphinx.conf
    输入以下内容
    source src1
    {
        type                      = mysql  //数据库类型
        sql_host                = localhost  //主机
        sql_user                = root        //用户名
        sql_pass                =12345678   //密码
        sql_db                = test    //检索数据库名
        sql_port                = 3306    # optional, default is 3306
        sql_sock                              = /tmp/mysql.sock
        sql_query_pre = SET NAMES utf8
        sql_query                =
            SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content
            FROM documents
        sql_attr_uint            = group_id
        sql_attr_timestamp        = date_added
        sql_query_info            = SELECT * FROM documents WHERE id=$id
    }
    index test1
    {
        source                    = src1
        path                    = /usr/local/coreseek/var/data/test1
        docinfo                    = extern
        charset_type            = zh_cn.utf-8
        mlock            = 0
        morphology        = none
        min_word_len        = 1
        html_strip        = 0
        charset_dictpath        = /usr/local/mmseg3/etc/
        ngram_len                    = 0
    }
    indexer
    {
        mem_limit                = 32M
    }


    searchd
    {
        port                    = 9312
        log                        = /usr/local/coreseek/var/log/searchd.log
        query_log                = /usr/local/coreseek/var/log/query.log
        read_timeout            = 5
        max_children            = 30
        pid_file                = /usr/local/coreseek/var/log/searchd.pid
        max_matches                = 1000
        seamless_rotate            = 1
        preopen_indexes            = 0
        unlink_old                = 1
    }

    说明:
    代码段source src1{***} 代表数据源里面主要包含了数据库的配置信息,src1表示数据源名字,可以随便写。
    代码段index test1{***} 代表为哪个数据源创建索引,与source *** 是成对出现的,其中的source参数的值必须是某一个数据源的名字。
    其他参数可以查看手册,这里不再赘述。
    生成索引
    /usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/sphinx.conf --all
    其中参数--all表示生成所有索引
    当然也可以是索引的名字例如:/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/sphinx.conf test1
    执行后可以在/usr/local/coreseek/var/data目录中看到多出一些文件,是以索引名为文件名的不同的扩展名的文件
    在不启动sphinx的情况下即可测试命令:
      /usr/local/coreseek/bin/search -c /usr/local/coreseek/etc/sphinx.conf number








  • 相关阅读:
    django:开发一个下载图片的接口
    django:cbv模式和fbv模式的区别
    java生成二维码/java解析二维码
    java如何台生成二维码详解
    html5 WebSocket的Js实例教程
    vue 组件传参
    Vue路由注意事项
    Vue全家桶
    浅谈vue对seo的影响
    vue打包详情
  • 原文地址:https://www.cnblogs.com/dcrq/p/5655342.html
Copyright © 2011-2022 走看看