北京捐款对联

作者:admin 发布时间:July 25, 2012 分类:默认

上联:一张大嘴,两眼放光,保三代富贵,征四海民饷,吃五谷不拉人屎,通六合飞黄腾达,七星聚会,散八方施舍,独不怜屁民九死,十分不要脸。
下联:十场天灾,九次表彰,看八耻全忘,任七窍生烟,惊六月含冤飞雪,伸五指强逼募捐,四处做戏,引三界震怒,唯不变向来二逼,一等下流胚。
横批:捐你妹

上联:对外援助减免贷款大笔一挥十分潇洒。下联:对内逼捐推卸责任贪得无厌一等下流。
横批为:捐你妈逼

sphinx 增量索引的配置和使用

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

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

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

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

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

阅读剩余部分...

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

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

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 分类:默认

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 分类:技术

 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

引擎)安装正常了。

阅读剩余部分...