zoukankan      html  css  js  c++  java
  • Sphinx-安装和配置

    本例是在Linux下, 环境 CentOS6.5 + PHP5.6.8 + MySQL5.6.13 + Sphinx2.3.1-beta

    官网下载对应环境的安装包, 按照官方文档指定步骤进行安装

      第一种方式是采用API调用, 我们可以使用PHP, Python, Perl, Ruby等编程语言的API函数进行查询, 这种方式不必重新编译MySQL, 模块间改动比较少, 相对灵活

      第二种需要重新编译MySQL, 将Sphinx以插件的方式编译到MySQL中去, 这种方式对程序改动比较少, 仅仅需要改动SQL语句即可, 但前提是你的MySQL版本必须在5.1以上

      Linux下源码安装:

        yum -y install make gcc g++ gcc-c++ libtool autoconf automake imake mysql-devel libxml2-devel expat-devel

        ./configure --prefix /usr/local/sphinx --with-mysql=/usr/local/mysql  --enable-id64

        make && make install

      安装完毕, 目录如下:

        bin: 可执行文件目录

          indexer 用来生成索引数据, 创建索引, 收集要被检索的数据

          searchd 后台进程, 使用 indexer 生成的数据做查询

        etc: 配置文件目录

        var: 索引等数据存放目录

    配置, Sphinx默认使用 etc/sphinx.conf, 如果没有, 则拷贝sphinx.conf.dist一份到sphinx.conf:

    #设置主数据源配置, 与增量数据源分开, 避免重复建立索引, 只为增量数据源建立索引即可
    source src1
    {
        type            = mysql     #数据库类型
        sql_host        = localhost
        sql_user        = root
        sql_pass        =
        sql_db            = test
        sql_port        = 3306    # optional, default is 3306
        sql_sock        = /tmp/mysqld.sock  #如果是Linux下需要开启, 指定sock文件
        sql_query_pre        = SET NAMES utf8    #预执行语句
        sql_query_pre       = SET SESSION query_cache_type=OFF  #关闭缓存
        sql_query        = 
            SELECT id, title, content FROM post #获取数据的SQL语句
    
        sql_query_info  = SELECT * FROM post WHERE id=$id   #必须要有 此处id与sql_query中的id键名相同
        
        #sql_attr_uint        = group_id  #对排序字段进行注释 原自带表中的字段
        #sql_attr_timestamp    = date_added    #对排序字段进行注释 原自带表中的字段
        
        sql_ranged_throttle    = 0
    }
    #src1主数据源的增量数据源, 继承主数据源
    #source src1throttled : src1
    #{
    #    sql_ranged_throttle    = 100
    #}
    #建立主数据索引test1
    index test1
    {
        source            = src1  #索引的数据源
        path            = /usr/local/sphinx/var/data/test1 #索引文件所放目录
        docinfo            = extern
        dict            = keywords
        mlock            = 0
        morphology        = none
        min_word_len        = 1
        
        html_strip        = 0
        
        charset_type    = utf-8
        charset_table   = utf-8
    }
    #主数据索引test1的增量数据索引
    #index test1stemmed : test1
    #{
    #    path            = /usr/local/sphinx/var/data/test1stemmed
    #    morphology        = stem_en
    #}
    #建立主数据索引dist1
    #index dist1
    #{
    ##    type            = distributed
    #    local            = test1
    #    local            = test1stemmed
    #    agent            = localhost:9313:remote1
    #    agent            = localhost:9314:remote2,remote3
    #    agent_connect_timeout    = 1000
    #    agent_query_timeout        = 3000
    #}
    ##建立主数据索引rt
    #index rt
    #{
    #    type            = rt
    #    path            = /usr/local/sphinx/var/data/rt
    #    rt_field        = title
    #    rt_field        = content
    #    rt_attr_uint        = gid
    #}
    #索引器的配置, 主要用来设置索引器所占内存
    indexer
    {
        mem_limit        = 128M
    }
    #服务进程的配置
    searchd
    {
        listen            = 9312
        listen            = 9306:mysql41
        log            = /usr/local/sphinx/var/log/searchd.log
        query_log        = /usr/local/sphinx/var/log/query.log
        read_timeout        = 5
        client_timeout        = 300
        max_children        = 30
        persistent_connections_limit    = 30
        pid_file        = /usr/local/sphinx/var/log/searchd.pid
        seamless_rotate        = 1
        preopen_indexes        = 1
        unlink_old        = 1
        mva_updates_pool    = 1M
        max_packet_size        = 8M
        max_filters        = 256
        max_filter_values    = 4096
        max_batch_queries    = 32
        workers            = threads # for RT to work
        
    }
    common
    {
    }

    a

  • 相关阅读:
    自动生成build.xml文件
    【luogu 3371】【模板】单源最短路径
    【noip 2005】 采药
    【poj 3253】Fence Repair
    【poj 3069】Saruman's Army
    【poj 3617】Best Cow Line
    【poj 2386】Lake Counting
    【noip 2010】 关押罪犯
    【rqnoj 343】mty的考验
    【codevs 1073】家族
  • 原文地址:https://www.cnblogs.com/JohnABC/p/4730515.html
Copyright © 2011-2022 走看看