linux配置sphinx

1. 配置索引

cd /usr/local/sphinx/etc/

cp sphinx.conf.dist sphinx.conf  //备份配置文件,防止改错

vim sphinx.conf

配置文件结构:

# 主数据源,(main名字可更改)
source main{
  type     = mysql    #数据库类型
  sql_host  = localhost  #MySQL主机IP
  sql_user  = test     #MySQL用户名
  sql_pass  =        #MySQL密码
  sql_db   = test     #MySQL数据库
  sql_port  = 3306     #MySQL端口
  sql_sock  = /tmp/mysql.sock    #Linux下需要开启,指定sock文件
  sql_query_pre = SET NAMES utf8   #MySQL检索编码
  sql_query_pre = SET SESSION query_cache_type=OFF #关闭缓存
  sql_query = \             #获取数据的SQL语句
    SELECT id, title, content FROM post

  # 以下是用来过滤或条件查询的属性,这里列出的字段将可以进行条件查询,同时不参与全文检索
  #sql_attr_uint = group_id
  #sql_attr_timestamp = date_added
  
}

# 增量数据源(inherited source), 继承主数据源
source src1throttled : main{

}

# 主索引(local index),(main名字可更改)
index main{
  source  = main  # 指定主数据源
  path   = /usr/local/sphinx/var/data/main  # 索引路径
}

# 增量索引(inherited index)
index test1stemmed : test1{

}

# 分布式索引(distributed index)
index dist1{

}

# 实时索引(realtime index)
index rt{

}

# 索引器设置,(调整最小内存到最佳)
indexer{
  mem_limit = 256M  #内存大小限制,默认128M,推荐256M
              #其它用默认即可
}

# 服务进程设置,(监听端口号)
searched{
  #全部默认即可,默认端口号就是9312
}

# 公共配置
common{

}

  

2. 创建索引

创建索引命令:indexer

-c     指定配置文件

--all    对所有索引重新编制索引

--rotate  用于轮换索引,在不停止服务的时候(searchd运行时)增加索引;searchd运行时不加会报错。

--merge  合并索引,增量索引合并到主索引的时候用

生成全部索引: /usr/local/sphinx/bin/indexer -c /usr/local/sphinx/etc/sphinx.conf --all

或指定索引(例如main): /usr/local/sphinx/bin/indexer -c /usr/local/sphinx/etc/sphinx.conf main

(1)如果这里出现报错:

【ERROR: index ‘main‘: sql_connect: Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘】

没找到/tmp/mysql.sock, 通过find / -name mysql.sock -print查找到位置,在配置sphinx.conf里更改正确。

如:mysql_sock = /var/lib/mysql/mysql.sock 保存退出。

(2)继续创建索引,警告:

【WARNING: Attribute count is 0: switching to none docinfo】

改sphinx.conf里的docinfo = none就没有警告了。(http://sphinxsearch.com/docs/current.html#conf-docinfo)

创建索引出现如下提示,表示生成成功:

3. 启动Sphinx

重建索引:./searchd -c /usr/local/sphinx/etc/sphinx.conf

轮换索引: ./searchd -c /usr/local/sphinx/etc/sphinx.conf goods_list --rotate

      ./searchd -c /usr/local/sphinx/etc/sphinx.conf store_list --rotate

停止服务:./searchd -c /usr/local/sphinx/etc/sphinx.conf --stop

时间: 2024-10-27 01:51:41

linux配置sphinx的相关文章

linux配置vncserver服务

挨踢这么多年,几乎很少记录自己解决的问题,因为总感觉那些问题对于高手来说,都是小菜,所以碍于颜面,不好意思写! 后来想明白了,写下来,能帮助新手,又能帮自己做个记录,下次碰到同样问题,就不用百度google了-- 这篇就算***作吧,好了,言归正传-- 想连接某台linux服务器,方法很多,但是听说除了vnc,其他方法断开网络后,程序会中断运行,只是听说,具体是不是这样,我就不太清楚了,为了保险,还是就用vnc吧. 1.           安装vncserver 我安装linux系统的时候,没

Kali—Linux配置jdk时出现的一点问题。

jdk 本来应该是几天前就配好了的今天打开终端忽然发现一个问题. : 以及好几行悬在终端最上方. 找了找,在以下步骤里面: Kali Linux配置jdk应执行 gedit ~/.bashrc 并添加下列内容 export JAVA_HOME=/usr/local/src/jdk export CLASSPATH=/usr/local/src/jdk/libexport PATH=${JAVA_HOME}/bin:$PATH 很多习惯写代码的同学喜欢在等号前后加上空格,这就导致了无法识别标识符!

Linux 配置双机SSH信任

Linux 配置双机SSH信任 一.实现原理 使用一种被称为"公私钥"认证的方式来进行ssh登录."公私钥"认证方式简单的解释是: 首先在客户端上创建一对公私钥(公钥文件:~/.ssh/id_rsa.pub:私钥文件:~/.ssh/id_rsa),然后把公钥放到服务器上(~/.ssh/authorized_keys),自己保留好私钥.当ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录了. 二.实验环境 A机:TS-DEV/10.0.

linux配置java環境變量

首先先root,然後vim /etc/profile修改文件. 在最後面添加下面幾句(當然,路徑是你自己的路徑,或者JDK版本是不一樣). 之後在終端裏輸入 source /etc/profile 這樣配置文件才能立馬生效. 配置JAVA_HOME的用處的方便其他需要JDK的軟件的使用,例如tomcat. linux配置java環境變量,布布扣,bubuko.com

linux 配置多IP

这里以红帽Linux为例.假定原系统已配置一个IP,地址为:192.168.20.140,配置文件路径/etc/sysconfig/network-script/ifcfg-eth0.现在需要配置一个网段为192.168.1的IP. 步骤(需要root用户权限): 1.cp /etc/sysconfig/network-script/ifcfg-eth0 /etc/sysconfig/network-script/ifcfg-eth1 2.vi /etc/sysconfig/network-sc

linux配置java环境变量(详细) -copy

一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586.bin 这时会出现一段协议,连继敲回车,当询问是否同意的时候,输入yes,回车.之后会在当前目录下生成一个jdk1.6.0_14目录,你可以将它复制到 任何一个目录下. 二. 需要配置的环境变量 1. PATH环境变量.作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序.我们

Linux配置定时,使用 crontab -e 与 直接编辑 /etc/crontab 的区别

转自:http://blog.csdn.net/catoop/article/details/41821395 版权声明:本文为博主原创文章,未经博主允许不得转载. Linux配置定时任务,大家都知道使用crontab这个系统功能,但有时候我们需要区分用户执行,下面就直接说一下2种方法的区别: 方法1: 使用命令 crontab -e 然后直接编辑定时脚本. 这样执行以后,属于用户自定义的,会被写到 /var/spool/cron 目录下,生成一个和用户名一致的文件,文件内容就是我们编辑的定时脚

Linux配置支持高并发TCP连接(socket最大连接数)

Linux配置支持高并发TCP连接(socket最大连接数)及优化内核参数 2011-08-09 15:20:58|  分类:LNMP&&LAMP|  标签:内核调优  文件系统调优  高并发调优  socket连接  ip_conntract  |字号大中小 订阅 1.修改用户进程可打开文件数限制在 Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个s

关于64位Linux配置android开发环境出现 No such file or directory

前几天在64位系统上部署android开发环境的时候出现了这种问题 /aapt: No such file or directory 通过谷老师,知道原理android SDK里面的程序全是32位的,没有64位的.不知道为啥要写个x64, 我们仅仅要安装一下32位的执行库即可了,sudo apt-get install ia32-libs,就这么简单,一键搞定. 关于64位Linux配置android开发环境出现 No such file or directory,布布扣,bubuko.com