sphinx 增量索引的配置和使用

作者:admin 发布时间:July 19, 2012 分类:技术 No Comments

一.sphinx增量索引的设置
   数据库中的已有数据很大,又不断有新数据加入到数据库中,也希望能够检索到。全部重新建立索引很消耗资源,因为我们需要更新的数据相比较而言很少。例如。原来的数据有几百万条,而新增的只是几千条。这样就可以使用“主索引+增量索引”的模式来实现近乎实时更新的功能。
 

    这个模式实现的基本原理是设置两个数据源和两个索引,为那些基本不更新的数据建立主索引,而对于那些新 增的数据建立增量索引。主索引的更新频率可以设置的长一些(例如设置在每天的午夜进行),而增量索引的更新频率,我们可以将时间设置的很短(几分钟左 右),这样在用户搜索的时候,我们可以同时查询这两个索引的数据。

    使用“主索引+增量索引”方法有个简单的实现,在数据库中增加一个计数表,记录每次重新构建主索引时,被索引表的最后一个数据id,这样在增量索引时只需要索引这个id以后的数据即可,每次重新构建主索引时都更新这个表。

    测试条件:以默认的sphinx.conf配置为例,数据库表的数据也以 example.sql为例。

阅读剩余部分...

DedeCMS V5.7 Sphinx全文检索使用说明

作者:admin 发布时间:July 19, 2012 分类:默认 No Comments

1.2.创建配置文件
由于dedecms使用的是mysql,所以我们需要来配置一个mysql的sphinx模板配置,可以复制csft_mysql.conf改名为:csft_dedecmsv57.conf,例如我们这里仅做文章的全文检索,我们需要做如下配置:
先在DedeCMS中创建一个统计表,方法可以在DedeCMS后台[系统]->[SQL命令行工具]中执行下列代码:
CREATE TABLE `dede_sphinx` ( 
    `countid` int(11) unsigned NOT NULL, 
    `maxaid` int(11) unsigned NOT NULL, 
    PRIMARY KEY (`countid`) 
) ENGINE=MyISAM DEFAULT CHARSET=gbk
这是一个sphinx内容统计表,为了适合数据量较大的情况下分批生成索引而使用的.
创建完数据表后,我们对sphinx的配置文件,即csft_dedecmsv57.conf修改,内容如下,其中包含注释:

阅读剩余部分...

Discuz! X2增加Sphinx全文检索支持操作记录

作者:admin 发布时间:July 19, 2012 分类:默认 No Comments

Sphinx是一个很好的全文可检索软件,它支持MySQL和PGSQL.

一般来说Sphinx原版对英文全文检索校好,但对中文全文检索的话,就使用国人的修改版coreseek了.

coreseek安装比较麻烦一些.是我的安装记录:

首先下载coreseek源码:

wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz

解压:

tar xzvf coreseek-3.2.14.tar.gz
cd coreseek-3.2.14

进入coreseek目录下有三个子目录,分别是mmseg和csft和testpack.需要分别先后安装mmseg和csft.

安装mmseg,中文分词库:

cd mmseg-3.2.14
aclocal
libtoolize --force
automake --add-missing
autoconf
autoheader
make clean #此时如有错误可忽略不管
./configure --prefix=/usr/local/mmseg3
make && make install

在这里先做一点点小优化:

cd data
ln -s /usr/local/mmseg3/mmseg /usr/bin/mmseg
mmseg -u unigram.txt
cp unigram.txt.uni /usr/local/mmseg3/etc/uni.lib
cd ..

回到上级目录:
cd ..

安装csft,也就是coreseek主程序:

cd csft-3.2.14
sh buildconf.sh
./configure --prefix=/usr/local/coreseek --without-python \
--without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ \
--with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysql
make && make install
cd ..

这样coreseek就安装好了.

简单测试一下coreseek是否运行正确:


cd ../testpack
/usr/local/coreseek/bin/indexer -c etc/csft.conf
##以下为正常情况下的提示信息:
Coreseek Fulltext 3.2 [ Sphinx 0.9.9-release (r2117)]
Copyright (c) 2007-2010,
Beijing Choice Software Technologies Inc (http://www.coreseek.com)

using config file 'etc/csft.conf'...
total 0 reads, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg
total 0 writes, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg

/usr/local/coreseek/bin/indexer -c etc/csft.conf --all

下面修改配置,支持Discuz! X2:


vi /us

阅读剩余部分...

Sphinx在Windows下的安装

作者:admin 发布时间:July 19, 2012 分类:技术 No Comments

 Sphinx是 一个全文检索引擎,可以结合MySQL,PostgreSQL做专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等,同时为MySQL也设计了一个存储引擎插件SphinxEngine.

Sphinx特性:

  • 高速的建立索引(在当代CPU上,峰值性能可达到10MB/秒);
  • 高性能的搜索(在2–4GB的文本数据上,平均每次检索响应时间小于0.1秒);
  • 可处理海量数据(目前已知可以处理超过100GB的文本数据,在单一CPU的系统上可处理100M文档);
  • 提供了优秀的相关度算法,基于短语相似度和统计(BM25)的复合Ranking方法;
  • 支持分布式搜索;
  • 提供文件的摘录生成;
  • 可作为MySQL的存储引擎提供搜索服务;
  • 支持布尔、短语、词语相似度等多种检索模式;
  • 文档支持多个全文检索字段(最大不超过32个);
  • 文档支持多个额外的属性信息(例如:分组信息,时间戳等);
  • 停止词查询;
  • 支持单一字节编码和UTF-8编码;
  • 原生的MySQL支持(同时支持MyISAM和InnoDB);
  • 原生的PostgreSQL支持.

 

        Sphinx对中文的分词处理不好,CoreSeek就是Sphinx针对中文环境下的解决方案。mmseg-0.7.3目录就是Coreseek采用的中文分词工具。

Sphinx 的安装非常简单,只要将Sphinx目录解压即可。里面主要有一个bin目录,该目录有四个可执行文件,分别为indexer,search, searchd,spelldump。Sphinx的全文检索功能就是通过这四个可执行文件来实现。一:SphinxSE的安装步骤1) 安装Mysql (略)2) 用mysql-5.0.45-sphinxse-0.9.8-win32.zip里面的share和bin目录去覆盖掉MySQL Server 5.0目录里面的bin和share目录。(覆盖时停止Mysql)3)  是否安装成功,可以在 MySQL Command Line Client里面输入一下命令进行查询:运行

show engines

看看是不是有一个叫

sphinx

engine

,有的话就表示sphinxSE(mysql的

sphinx

引擎)安装正常了。

一:SphinxSE的安装步骤

1) 安装Mysql (略)

2) 用mysql-5.0.45-sphinxse-0.9.8-win32.zip里面的share和bin目录去覆盖掉MySQL Server 5.0目录里面的bin和share目录。(覆盖时停止Mysql)

3)  是否安装成功,可以在 MySQL Command Line Client里面输入一下命令进行查询:运行

show engines

,看是不是有一个叫

sphinx

engine

,有的话就表示sphinxSE(mysql的

sphinx

引擎)安装正常了。

阅读剩余部分...

改造ucenter1.6防止重复同步登陆当前应用

作者:admin 发布时间:February 22, 2012 分类:默认 No Comments

重复同步登陆应用的问题,上一篇中已经说过了.现在讲讲我的解决方法.

首先修改本地的uc_client 下的client.php, uc_user_synlogin函数  $return = uc_api_post('user', 'synlogin', array('uid'=>$uid,'appid'=>UC_APPID)); 红色部分是添加的,本地应用端就改这么多.

接着要去修改server端control目录下user.php onsynlogin函数 

 

$uid = $this->input('uid');

        $sendappid = $this->input('appid');

if($app['synlogin'] && $app['appid'] != $sendappid) {

 

蓝色部分是参照位置,红色是相对蓝色位置应添加的内容. ok现在不会对当前应用进行同步登陆了.

ucenter1.6 client 的问题

作者:admin 发布时间:February 22, 2012 分类:技术 No Comments

调试的时候发现1.6 同步登录,同步退出强制都是远程读取,并非以前的根据配置采用本地或者远程进行操作.并且传递的时候没有相应的判断,也就是说,登陆当前的应用的时候,通过远程又进行了一次对本地应用的同步登陆.

这样也没什么,有时候更简单,也就是说本地根本就不需要做什么登陆操作,直接配置好uc_client上就可以了.但是这样导致一个问题.远程同步登陆传递比较单一,对登录设置明显不够,很明显的本地登陆必须具备记住登录和不记住登录状态两种选项,通过同步上就只能有指定为一种.  如果本地程序进行了相关登陆的设置, 一旦被同步登陆干预,一切都等于白费.

总结真不知道这种设定是好是坏,反正我总觉得纠结,鸡肋啊鸡肋.

vsftpd 错误排除

作者:admin 发布时间:December 31, 2011 分类:技术 No Comments

553 Could not create file

假设是/home/ftp

这个目录的权限应该是777,owner是root,group是ftp

chmod 777 /home/ftp

chown root:ftp /home/ftp

530 Permission denied错误

阅读剩余部分...

Linux FTP 服务器安装配置之Vsftp 安装配置

作者:admin 发布时间:December 31, 2011 分类:技术 No Comments

 

vsftp,Very Security File Transfer Protocol.还有一个是proftp(Profession ftp) 我们这里也是简单的说明下vsftp的配置。

 

vsftp提供3种远程的登录方式:

 1)匿名登录方式

            就是不需要用户名,密码。就能登录到服务器电脑里面

2)本地用户方式

             需要帐户名和密码才能登录。而且,这个帐户名和密码,都是在你linux系统里面,已经有的用户。

 3)虚拟用户方式

     同样需要用户名和密码才能登录。但是和上面的区别就是,这个用户名和密码,在你linux系统中是没有的(没有该用户帐号)

 

 

安装命令:yum install vsftpd

 

阅读剩余部分...

关于近期csdn数据泄露和天涯数据泄露

作者:admin 发布时间:December 26, 2011 分类:默认 No Comments

csdn 600万用户数据和天涯4000用户数据,经过本人测试都成功下载了。虽然泄露的网站还有一些,但有些本人未能成功下载。 就天涯和csdn的数据来说,很让人吃惊,让人吃惊的不是数据泄露,而是这么大的网站,用户密码居然都是明文,数据泄露不可怕,可怕的是网站居然用明文存取密码。这到底是什么居心,让人很不可思议。

可怕的不是盗取数据的黑客,而是明文存取密码的网站,他们掌握了这么多的用户密码,在用户其它重要账号也采用这些密码的时候,网站随时可以达到不可告人的目的。可怕的csdn,可怕的天涯。 天涯可以说只是社区没有特别技术,堂堂csdn还是程序技术网站,他们的技术是用来偷密码来着,很幸运作为程序员的我从来没注册这个网站,作为这个网站的注册用户,应该感到很羞耻才是。

新浪博客通过live writer远程写作不统计文章数的bug

作者:admin 发布时间:December 21, 2011 分类:默认 No Comments

最近用利用新浪博客自带的xmlrpc远程写博客,内容是发表成功了,博客文章的数量不增加,永远是那么几条。这样导致的结果是无法通过内容列表的翻页访问到以前的博文。

苏ICP备15029914号-2