zoukankan      html  css  js  c++  java
  • centos 下安装 shpinx2.1.7 记录

     安装sphinx

    yum install -y mysql mysql-devel 
    yum install automake autoconf 
    cd /usr/local/src/
    wget http://sphinxsearch.com/files/sphinx-2.1.7-release.tar.gz
    tar -zxvf sphinx-2.1.7-release.tar.gz 
    cd sphinx-2.1.7-release
    ./configure --prefix=/usr/local/sphinx --with-mysql=/usr/local/mysql
    make
    make install
    cd /usr/local/sphinx/
    cp etc/sphinx.conf.dist etc/sphinx.conf

    配置sphinx

    vim etc/sphinx.conf
    主要对 索引源以及索引进行配置,索引源主要配置数据库等源的配置,索引就是对索引进行的一些配置。

    可选配置:索引器配置,sphinx 服务进程配置
    
    
    需要注意的是:索引源以及索引要对应上(两个src1)
    代码片段:
    source src1{....

    index simon_test{
            source = src1

    具体配置请看附1

    启动sphinx

    bin/indexer -c etc/sphinx.conf simon_test

    可能遇到的问题

    1.错误:
    bin/indexer -c etc/sphinx.conf article bin/indexer: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory 解决办法: vim /etc/ld.so.conf
    增加mysql lib 目录
    /usr/local/mysql/lib/mysql 增加后执行 ldconfig

    附1

    ##### 索引源 ###########
    source article_src
    {
    type = mysql    #####数据源类型
    sql_host = 192.168.1.10    ######mysql主机
    sql_user = root   ########mysql用户名
    sql_pass = pwd############mysql密码
    sql_db = test #########mysql数据库名
    sql_port= 3306 ###########mysql端口
    sql_query_pre = SET NAMES UTF8 ###mysql检索编码,特别要注意这点,很多人中文检索不到是数据库的编码是GBK或其他非UTF8
    sql_query = SELECT id,title,cat_id,member_id,content,created FROM sphinx_article ####### 获取数据的sql
    
    #####以下是用来过滤或条件查询的属性############
    
    sql_attr_uint = cat_id ######## 无符号整数属性
    sql_attr_uint = member_id
    sql_attr_timestamp = created ############ UNIX时间戳属性
    
    sql_query_info = select * from sphinx_article where id=$id ######### 用于命令界面端(CLI)调用的测试
    
    }
    
    ### 索引 ###
    
    index article
    {
    source = article_src ####声明索引源
    path = /usr/local/sphinx/var/data/article #######索引文件存放路径及索引的文件名
    docinfo = extern ##### 文档信息存储方式
    mlock = 0 ###缓存数据内存锁定
    morphology = none #### 形态学(对中文无效)
    min_word_len = 1 #### 索引的词最小长度
    charset_type = utf-8 #####数据编码
    
    ##### 字符表,注意:如使用这种方式,则sphinx会对中文进行单字切分,
    ##### 即进行字索引,若要使用中文分词,必须使用其他分词插件如 coreseek,sfc
    
    min_prefix_len = 0 #最小前缀
    min_infix_len = 1 #最小中缀
    ngram_len = 1 # 对于非字母型数据的长度切割
    
    #加上这个选项,则会对每个中文,英文字词进行分割,速度会慢
    #ngram_chars = U+4E00..U+9FBF, U+3400..U+4DBF, U+20000..U+2A6DF, U+F900..U+FAFF,
    #U+2F800..U+2FA1F, U+2E80..U+2EFF, U+2F00..U+2FDF, U+3100..U+312F, U+31A0..U+31BF,
    #U+3040..U+309F, U+30A0..U+30FF, U+31F0..U+31FF, U+AC00..U+D7AF, U+1100..U+11FF,
    #U+3130..U+318F, U+A000..U+A48F, U+A490..U+A4CF
    
    }
    
    ######### 索引器配置 #####
    indexer
    {
    mem_limit = 256M ####### 内存限制
    }
    
    ############ sphinx 服务进程 ########
    searchd
    {
    #listen = 9312 ### 监听端口,在此版本开始,官方已在IANA获得正式授权的9312端口,以前版本默认的是3312
    
    log = /usr/local/sphinx/var/log/searchd.log #### 服务进程日志 ,一旦sphinx出现异常,基本上可以从这里查询有效信息,轮换(rotate)出的问题一般可在此寻到答案
    query_log = /usr/local/sphinx/var/log/query.log ### 客户端查询日志,笔者注:若欲对一些关键词进行统计,可以分析此日志文件
    read_timeout = 5 ## 请求超时
    max_children = 30 ### 同时可执行的最大searchd 进程数
    pid_file = /usr/local/sphinx/var/log/searchd.pid #######进程ID文件
    max_matches = 1000 ### 查询结果的最大返回数
    seamless_rotate = 1 ### 是否支持无缝切换,做增量索引时通常需要
    }
  • 相关阅读:
    解决QPainter::drawText修改文字方向
    解决linux环境下qt groupbox 边框不显示问题
    人既然知道努力就可以进步,为什么还是会不努力?
    学会锻炼感悟爱与幸福的能力
    IT人为什么难以拿到高薪?
    在你月薪三千的时候,做月薪八千的事
    哪些人最终能留在北京?
    如何利用数据挖掘进行分析的方法
    查找附近的人
    dapper 操作类封装
  • 原文地址:https://www.cnblogs.com/simon-sun/p/3641039.html
Copyright © 2011-2022 走看看