• 3454阅读
  • 3回复

[linux服务器](linux)sphinx全文索引for phpwind [复制链接]

上一主题 下一主题
离线rickyleo
 

发帖
311
金币
0
威望
99
只看楼主 倒序阅读 使用道具 楼主  发表于: 2011-06-28
相关文件和说明见附件
附件: (linux)sphinx全文索引for phpwind.rar (1766 K) 下载次数:149
离线太史慈

发帖
777
金币
626
威望
556
只看该作者 沙发  发表于: 2014-01-15
linux sphinx 的安装
一 sphinx 下载
http://sphinxsearch.com/downloads
建议下载 0.99
http://sphinxsearch.com/files/sphinx-0.9.9.tar.gz
二 安装sphinx
   1  mysql是通过rpm 安装的 并且服务器上上 安装了mysql_devel

tar -zxvf sphinx-0.9.9.tar.gz
cd sphinx-0.9.9
./configure --prefix=/usr/local/sphinx --with-mysql
make
make install

  2 mysql 是通过源码安装的
tar -zxvf sphinx-0.9.9.tar.gz
cd sphinx-0.9.9
./configure --prefix=/usr/local/sphinx --with-mysql=/usr/local/mysql --with-mysql-includes=/usr/local/mysql/include/mysql --with-mysql-libs=/usr/local/mysql/lib/mysql
make
make install

指定你的mysql 目录根据需要修改


三 下载压缩包
把sphinx.conf 放到 /usr/local/sphinx/etc/ 目录下  请修改其中的数据库 账号 密码 等信息
把sphinxc.sh放到 /usr/local/sphinx/bin/ 目录下

chmod -777 /usr/local/sphinx/bin/sphinxc.sh

去你的数据库建立表

--
-- 表的结构 `search_counter`
--
CREATE TABLE IF NOT EXISTS `search_counter` (
  `counterid` int(11) NOT NULL DEFAULT '0',
  `max_doc_id` int(11) NOT NULL DEFAULT '0',
  `min_doc_id` int(10) NOT NULL DEFAULT '0',
  PRIMARY KEY (`counterid`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;
--
-- 导出表中的数据 `search_counter`
--

cd /usr/local/sphinx/bin
./indexer --all 建立索引
完成后
./searchd

四 建立计划任务
crontab -e
输入
*/20 * * * * /usr/local/sphinx/bin/sphinxc.sh

五 同样 因为日志 板块 回复没有建立索引 所有 请修改程序  
参考:http://dakehu.test.img1001.com/read.php?tid=510

注意 本文用到的 是 一元分词方法 如果客户论坛本身就是 utf8编码的 请到后台  全文索引配置出  修改分词方法为二元分词   bug何其多

kill `cat /home/sphinx/var/log/searchd.pid`
/home/sphinx/bin/searchd --config /home/sphinx/etc/sphinx.conf
[url=http://www.phpwind.com]phpwind[/url]
离线云天河

发帖
29
金币
131
威望
25
只看该作者 板凳  发表于: 2016-06-21
====================================
重新搞sphinx
rm -rf /home/sphinx/var/data/*
/home/sphinx/bin/indexer --all

rm -rf /usr/local/sphinx/var/data/*
/usr/local/sphinx/bin/indexer --all

关闭sphinx
killall searchd
开启sphinx
/home/sphinx/bin/searchd

离线云天河

发帖
29
金币
131
威望
25
只看该作者 地板  发表于: 04-24
在生成sphinx中tmsgs的时候遇到一个问题,
tmsgs表中最小的id是0
ERROR: index 'tmsgsindex': sql_query_range: min_id='0': must be positive 32/64-bit unsigned integer
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
提到某人:
选择好友
上一个 下一个