Ubuntu+sphinx安装配置总结

Ubuntu 安装/配置/使用/Sphinx

第1步 - 安装Sphinx
    sudo apt-get install aptitude
    sudo aptitude install sphinx3 sphinx3-doc sphinxsearch sphinx-common -y
    sudo aptitude install libsphinxclient-dev libsphinxclient-0.0.1 -y
    sudo apt-get install php-pear php5-dev
    sudo pecl uninstall sphinx
    sudo pecl install sphinx
    

第2步 - 创建测试数据库
    MYSQL创建

第3步 - 配置Sphinx
    
    源块包含源代码,用户名和密码到MySQL服务器的类型。 所述的第一列sql_query应该是唯一的ID。 SQL查询将在每个索引上运行,并将数据转储到Sphinx索引文件。 下面是每个字段和源块本身的描述。

    1.sudo vim  /etc/sphinxsearch/sphinx.conf
    2.或者用Sphinx的例子文件直接复制

    #important
    #MYSQL源块
    source src1{
        type          = mysql

        #SQL settings (for ‘mysql’ and ‘pgsql’ types)

        //MYSQL的配置
        sql_host      = localhost
        sql_user      = root
        sql_pass      = password
        sql_db        = test
        sql_port      = 3306 # optional, default is 3306

        //导入到Sphinx的MYSQL数据
        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
    }


    #索引组件包含源和存储数据的路径
    index test1{
         source        = src1  //源块的名称。 source的名称 。
         path          = /var/lib/sphinxsearch/data/test1  //索引保存的路径
         docinfo       = extern
    }


    searchd{
        //这Sphinx守护进程运行的端口,后面的协议。 在我们的例子,这是9306:mysql41。 已知的协议是:Sphinx (SphinxAPI)和:mysql41(SphinxQL)
        listen            = 9312:sphinx       #SphinxAPI port
        listen            = 9306:mysql41      #SphinxQL port
        log               = /var/log/sphinxsearch/searchd.log
        query_log         = /var/log/sphinxsearch/query.log                //路径保存查询日志。
        read_timeout      = 5                                            //查询超时时间
        max_children      = 30
        pid_file          = /var/run/sphinxsearch/searchd.pid           //进程文件
        seamless_rotate   = 1
        preopen_indexes   = 1                                            //同时旋转海量数据预缓存的指标,防止searchd的摊位
        unlink_old        = 1                                            //是否强行盘前在启动时的所有索引
        binlog_path       = /var/lib/sphinxsearch/data                    //是否删除成功旋转旧的索引拷贝
    }    


第4步 - 管理索引
    #建立全部索引
    sudo indexer --all
    
    #按照指定的配置文件建立索引
    sudo indexer -c /etc/sphinxsearch/sphinx.conf test1  --all

    #如果数据库变动或者MYSQL字段增多可以执行如下命令,重新加载sphinx配置文件,然后重启
    indexer --rotate --config /etc/sphinxsearch/sphinx.conf --all


第5步 - 测试
    通过命令去查询
    /usr/bin/search "keyword"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值