现在可以用最新版的Sphinx版本

网址:http://sphinxsearch.com/downloads/release/

我使用rpm方式: 下载RHEL/CentOS 6.x x86_64 RPM(centos6的64位)

安装前请确保您安装了这些软件包:

$ yum install postgresql-libs unixODBC

从Sphinx网站下载RedHat RPM并安装它:

$ rpm -Uhv sphinx-2.2.1-1.rhel6.x86_64.rpm

准备配置文件(参见快速浏览)后,

可以启动searchd守护进程:

$ service searchd start

(注:我配置文件弄好后,使用这个命令无法启用,后使用

searchd -c /etc/sphinx/sphinx.conf 成功启用

searchd -c /etc/sphinx/sphinx.conf --stop 这是停止 )

配置shpinx.conf 位置/etc/sphinxsearch/sphinx.conf,注意sql_query_info  已经过时,可以不用加
修改mysql配置文件:linux服务器为my.cnf,在 [mysqld] 后面加入一行“ft_min_word_len=1”,然后重启Mysql。 
show variables like 'ft_min_word_len'; 查看是否正确

新的sphinx,不支持sql_query_info,charset_type设置了

sql_attr_uint  = id 此句 对于此改为sid ,在查询是id as sid即可
同时修改phpcms里面modules\search\index.php第123行改为    $sids[] = $_v['attrs']['sid'];

修改之后一定要重建索引!

配置文件分析:
    source:数据源,数据是从什么地方来的。
    index:索引,当有数据源之后,从数据源处构建索引。索引实际上就是相当于一个字典检索。有了整本字典内容以后,才会有字典检索。
    searchd:提供搜索查询服务。它一般是以deamon的形式运行在后台的。
    indexer:构建索引的服务。当要重新构建索引的时候,就是调用indexer这个命令。
    attr:属性,属性是存在索引中的,它不进行全文索引,但是可以用于过滤和排序。

. 生成全部索引
sudo  /usr/bin/indexer --config /etc/sphinxsearch/sphinx.conf --all --rotate 实际命令
/usr/bin/indexer --config /etc/sphinx.conf --all --rotate

生成主索引
/usr/bin/indexer --config /etc/sphinxsearch/sphinx.conf --rotate main

生成增量索引
/usr/bin/indexer --config /etc/sphinxsearch/sphinx.conf --rotate delta

加入crontab -e root用户
* 0-3 * * * /usr/bin/indexer --config /etc/sphinxsearch/sphinx.conf --rotate delta 
* 6-23 * * * /usr/bin/indexer --config /etc/sphinxsearch/sphinx.conf --rotate delta 
0 4 * * *  /usr/bin/indexer --config /etc/sphinxsearch/sphinx.conf --merge index_main index_delta --rotate 合并索引

配置文件参考:

看phpcms帮助文档

Shpinx在PHPCMS里的使用及配置的更多相关文章

  1. 为什么在Spring的配置里,最好不要配置xsd文件的版本号

    为什么dubbo启动没有问题? 原文链接:http://www.tuicool.com/articles/YRn67zM 这篇blog源于一个疑问: 我们公司使了阿里的dubbo,但是阿里的开源网站h ...

  2. Cassandra概念学习系列之Windows里下载且安装配置Cassandra(最新的3.11.1版本)(图文详解)

    不多说,直接上干货!  最近我开始在windows环境中使用Cassandra,虽然在Cassandra站点的安装命令非常清楚和精简,我仍然在环境配置上遇到一些问题.所以我想为后来者分享下我的经验. ...

  3. 项目里出现两个配置类继承WebMvcConfigurationSupport时,为什么只有一个会生效(源码分析)

    为什么我们的项目里出现两个配置类继承WebMvcConfigurationSupport时,只有一个会生效.我在网上找了半天都是说结果的,没有人分析源码到底是为啥,博主准备讲解一下,希望可以帮到大家! ...

  4. webpack里的module选项配置

    webpack里的module 有loaders选项和noParse选项,noParse选项配置不需要解析的目录和文件 module:{ loaders:[], noParse: [ path.joi ...

  5. spring的xml配置里,最好不要配置xsd的版本名称

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  6. web.xml里welcome-file欢迎页面配置及web.xml简介

    web项目欢迎页面的配置 <welcome-file-list> <welcome-file>/WEB-INF/index.html</welcome-file> ...

  7. SAP Cloud for Customer的Account Team里的role如何配置

    Account Team标签页里点击Add按钮: 这些下拉菜单里的role在哪里配置? 在business configuration工作中心:Implementation projects-> ...

  8. struts.xml里面子元素的配置

    <struts> <!-- package:包,struts2使用package来组织模块 name属性:必须,用于其他的包引用当前包 extends:当前包继承哪个包,继承的,即可 ...

  9. mysql里几个超时配置参数wait_timeout,net_read_timeout等

    以下这些配置项单位都是秒,在mysql命令行中可以使用show global variables like '变量名';可查询配置值. connect_timeout:连接响应超时时间.服务器端在这个 ...

随机推荐

  1. React.js开发的基本配置(配了两天)

    记录下心酸的过程: 1.安装npm 安装node.js,这时候你就可以使用npm了. 因为官方的源下载npm的包比较慢,所以可以用淘宝的源,这时候使用nrm来进行npm源的切换 在cmd中执行 npm ...

  2. Django 路由层(urlconf)

    Django 的路由层(URLconf) URL配置(conf)就像是Django所支撑的网站的目录; 本质就是:URL与调用该URL执行的视图函数的映射表; 通俗的讲:就是用户使用哪个url,URL ...

  3. Java多线程——中断机制

    前言:在Java多线程中,中断一直围绕着我们,当我们阅读各种关于Java多线程的资料.书籍时,“中断”一词总是会出现,笔者对其的理解也是朦朦胧胧,因此非常有必要搞清楚Java多线程的中断机制. 1.J ...

  4. Python从入门到放弃Day01

    Py的第一天,无非是讲一些关于电脑的一些常见的基本常识,硬件之类的cpu啊.硬盘啊.显卡啊.内存条啊什么的,之后就还有一些除了windows之外的操作系统,我之前是学网络的,Readhat也学了一部分 ...

  5. 在Linux命令行中以图形化窗口打开文件夹

    Linux 系统中也有类似的命令.Ubuntu 发行版的命令行中,我们可以使用 nautilus 命令来打开指定目录的图形化窗口界面.类似下面命令这样使用: nautilus /home/testPr ...

  6. 阿里云RDS for MySQL 快速入门——笔记

    1初始化配置 1.1设置白名单 创建RDS实例后,需要设置RDS实例的白名单,以允许外部设备访问该RDS实例.默认的白名单只包含默认IP地址127.0.0.1,表示任何设备均无法访问该RDS实例. 设 ...

  7. vue diff 算法学习

    function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) { let oldStartIdx ...

  8. Golang 入门系列(九) 如何读取YAML,JSON,INI等配置文件

    实际项目中,读取相关的系统配置文件是很常见的事情.今天就来说一说,Golang 是如何读取YAML,JSON,INI等配置文件的. 1. json使用 JSON 应该比较熟悉,它是一种轻量级的数据交换 ...

  9. 20分钟了解Epoll + 聊天室实战

    我们知道,计算机的硬件资源由操作系统管理.调度,我们的应用程序运行在操作系统之上,我们的程序运行需要访问计算机上的资源(如读取文件,接收网络请求),操作系统有内核空间和用户空间之分,所以数据读取,先由 ...

  10. iOS开发基础-九宫格坐标(5)

    继续在iOS开发基础-九宫格坐标(4)的基础上进行优化. 一.改进思路 1)iOS开发基础-九宫格坐标(4)中 viewDidLoad 方法中的第21.22行对控件属性的设置能否拿到视图类 WJQAp ...