October 15, 2009
Sphinx增量索引实例
"\u003cp\u003e在实际应用中往往有这么一种情况,数据库数据很大,比如我们的歌曲表,如果我们每次都去更新整个表的索引,对系统得开销将非常大,显然这是不合适,这时我 们会发现,每天我们需要更新的数据相比较而言较少,在这种情况下我们就需要使用“主索引+增量索引”的模式来实现实时更新的功能。\u003c/p\u003e\n\u003cp\u003e这个模式实现的基本原理是设置两个数据源和两个索引,为那些基本不更新的数据建立主索引,而对于那些新增的数据建立增量索引。主索引的更新频率我们 可以设置的长一些(可以设置在每天的午夜进行更新),而增量索引的更新频率,我们可以将时间设置的很短(几分钟左右),这样在用户搜索的时候,我们可以同 时查询这两个索引的数据。\u003c/p\u003e\n\u003cp\u003e下面,我们通过一个简单的例子来描述一下怎样实现这种模式\u003c/p\u003e\n\u003cp\u003e以sphinx.conf中默认的数据为例:\u003c/p\u003e\n\u003cp\u003e1.先在mysql中插入一个计数表和两个索引表\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eCREATETABLEsph_counter(\u003c/li\u003e\n\u003cli\u003ecounter_idINTEGERPRIMARYKEYNOTNULL,\u003c/li\u003e\n\u003cli\u003emax_doc_idINTEGERNOTNULL\u003c/li\u003e\n\u003cli\u003e);\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e//主索引使用(确认之前是否已经建立过该表,如果已经建立,这里就不需要重新建了) …\u003c/p\u003e"
October 15, 2009
sphinx实现主索引+增量索引
"\u003cp\u003e装了几次没把sphinx集成到mysql中去(SphinxSE),只好放弃,使用其自带的api(sphinx.php)来试试。\n官方的sphinx0.98不支持索引GBK的数据,后装了Coreseek提供的版本,几经测试后,终于搞定GBK的数据索引。\n然后调用sphinx.php写了个搜索测试程序,终于试出来,也蛮好用的。\u003c/p\u003e\n\u003cp\u003e主要按照Coreseek整理的 \u003ca href=\"http://down.itlearner.com/soft/2420.shtml\"\u003eSphinx0.98中文参考手册\u003c/a\u003e 中的内容,这里记录一下。\u003c/p\u003e\n\u003cp\u003e创建主索引:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003ebin/indexer –config etc/sphinx.conf hx_9enjoy –rotate\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e创建增量索引:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003ebin/indexer –config etc/sphinx.conf delta –rotate\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e合并主索引和增量索引:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003ebin/indexer –config etc/sphinx.conf –merge hx_9enjoy delta –merge-dst-range deleted 0 0 –rotate\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e–rotate参数可以在不停searchd的情况下索引,不然的话会有类似如下的提示:\nFATAL: failed to …\u003c/p\u003e"
October 15, 2009
FreeBSD中portsnap与csup,cvsup方法更新ports的不同
"\u003cp\u003e从6.0开始,freebsd升级ports就不再需要cvsup了,而是用portsnap,\u003c/p\u003e\n\u003cp\u003e一、portsnap与cvsup的区别在于\u003c/p\u003e\n\u003cp\u003e:\u003c/p\u003e\n\u003cp\u003e1、portsnap有数字签名,较安全,cvsup没有。\u003c/p\u003e\n\u003cp\u003e2、portsnap是打包压缩下载,所以会比cvsup快一些,当然除了第一次使用。\u003c/p\u003e\n\u003cp\u003e二、使用方法是:\u003c/p\u003e\n\u003cp\u003e第一次使用:portsnap fetch extract\u003c/p\u003e\n\u003cp\u003e以后再用:portsnap fetch update\u003c/p\u003e\n\u003cp\u003e还可以放在cron里定时升级:portsnap cron update\u003c/p\u003e\n\u003cp\u003e需要注意的是不要portsnap和cvsup混合使用。\u003c/p\u003e\n\u003cp\u003e第一次使用输入portsnap fetch extract回车即可,因为有几十兆的文件需要下载,需要等待一段时间。\u003c/p\u003e\n\u003cp\u003e如果用户没有安装ports,这个命令是无效的,需要通过sysinstall来安装ports\u003c/p\u003e\n\u003cp\u003e修改更新服务器地址的方法:\u003c/p\u003e\n\u003cp\u003e/etc/portsnap.conf 里面更改\u003c/p\u003e\n\u003cp\u003eSERVERNAME=portsnap.hshh.org\u003c/p\u003e\n\u003cp\u003e提供几个postsnap更新的服务器地址\u003c/p\u003e\n\u003cp\u003eportsnap.hshh.org\u003c/p\u003e\n\u003cp\u003eportsnap2.hshh.org …\u003c/p\u003e"
October 15, 2009
mysql中查询后记录集的排序问题
"\u003cp\u003e在mysql上一般的查询要么是按一个字段的升序,要么按降序进行排序,如果实现根据条件里值的左右顺序来显示记录呢,如 where id in (3,1,5,2)此类的,查询出来的记录从上到下也是(3,1,5,2)这类的顺序了,可以用以下语句来实现:\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eSELECT * FROM documents WHERE id IN (3,5,7) ORDER BY FIELD(id,3,5,7)\n\u003c/code\u003e\u003c/pre\u003e"
October 15, 2009
Sphinx速成指南
"\u003cp\u003e版权 ? 2008 Dony,,版权所有,转载请声明来源与作者\u003c/p\u003e\n\u003cp\u003e2008-01-17\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e目录\u003c/strong\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eSphinx简介\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e1.1. 什么是全文检索\u003c/p\u003e\n\u003cp\u003e1.2. 介绍\u003c/p\u003e\n\u003cp\u003e1.3. Sphinx的特性\u003c/p\u003e\n\u003col start=\"2\"\u003e\n\u003cli\u003eSphinx安装(For MySQL)\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e2.1. Windows下安装\u003c/p\u003e\n\u003cp\u003e2.2. Linux下安装 3. 实例说明\u003c/p\u003e\n\u003col start=\"4\"\u003e\n\u003cli\u003e\n\u003cp\u003eSphinx配置\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e运行Sphinx\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e搜索(翻译)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e6.1. 匹配模式\u003c/p\u003e\n\u003cp\u003e6.2. 布尔查询语法(Boolean query syntax)\u003c/p\u003e\n\u003cp\u003e6.3. 扩展查询语法(Extended query syntax)\u003c/p\u003e\n\u003cp\u003e6.4. 权重(匹配度,Weight)\u003c/p\u003e\n\u003col start=\"7\"\u003e\n\u003cli\u003e\n\u003cp\u003e如何调用Sphinx\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSphinxSE的SQL查询例子演练\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e如何自动重建索引\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e相关资源\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e\u003cstrong\u003e1. Sphinx简介\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e1.1. 什么是全文检索\u003c/p\u003e\n\u003cp\u003e全文检索是指以文档的全部文本信息作为检索对象的一种信息检索技术。检索的对象有可能是文章的标题,也有可能是文章的作者,也有可能是文章摘要或内容。\u003c/p\u003e\n\u003cp\u003e1.2. 介绍\u003c/p\u003e\n\u003cp\u003eSphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据 …\u003c/p\u003e"
October 14, 2009
windows平台下gbk编码数据库的sphinx的设置
"\u003cp\u003esql_query_pre = SET NAMES GBK\u003c/p\u003e\n\u003cp\u003echarset_type = zh_cn.gbk #sbcs\u003c/p\u003e\n\u003cp\u003echarset_dictpath = D:\\csft3.1\\data\u003c/p\u003e"
October 14, 2009
Sphinx在Windows下安装使用[支持中文全文检索]
"\u003cp\u003e前一阵子尝试使用 了一下Sphinx,一个能够被各种语言(PHP/Python/Ruby/etc)方便调用的全文检索系统。网上的资料大多是在linux环境下的安装 使用,当然,作为生产环境很有必要部署在*nix环境下,作为学习测试,还是windows环境比较方便些。\u003c/p\u003e\n\u003cp\u003e本文旨在提供一种便捷的方式让Sphinx在windows下安装配置以支持中文全文检索,配置部分在linux下通用。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e一、关于Sphinx\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eSphinx 是一个在GPLv2 下发布的一个全文检索引擎,商业授权(例如, 嵌入到其他程序中)需要联系作者(Sphinxsearch.com)以获得商业授权。\u003c/p\u003e\n\u003cp\u003e一般而言,Sphinx是一个独立的搜索引擎,意图为其他应用提供高速、低空间占用、高结果相关度的全文搜索功能。Sphinx可以非常容易的与SQL数据库和脚本语言集成。\u003c/p\u003e\n\u003cp\u003e当前系统内置MySQL和PostgreSQL 数据库数据源的支持,也支持从标准输入读取特定格式的XML数据。通过修改源代码,用户可以自行增加新的数据源(例如:其他类型的DBMS的原生支持)。\u003c/p\u003e\n\u003cp\u003e搜索API支持PHP、Python、Perl、Rudy和Java,并且也可 …\u003c/p\u003e"
October 14, 2009
sphinx+MySQL的安装使用(重新整理)
"\u003cp\u003e一、MySQL+Sphinx+SphinxSE安装步骤:\n1、安装python支持(以下针对CentOS系统,其他Linux系统请使用相应的方法安装)\nyum install -y python python-devel\u003c/p\u003e\n\u003cp\u003e2、编译安装LibMMSeg(LibMMSeg是为Sphinx全文搜索引擎设计的中文分词软件包,其在GPL协议下发行的中文分词法,采用Chih-Hao Tsai的MMSEG算法。LibMMSeg在本文中用来生成中文分词词库。)\u003c/p\u003e\n\u003cp\u003e以下压缩包“sphinx-0.9.8-rc2-chinese.zip”中包含mmseg-0.7.3.tar.gz、sphinx-0.9.8-rc2.tar.gz以及中文分词补丁。\u003c/p\u003e\n\u003cp\u003ewget \u003ca href=\"http://www.coreseek.com/uploads/sources/csft3_0b2.tar.gz\"\u003ehttp://www.coreseek.com/uploads/sources/csft3_0b2.tar.gz\u003c/a\u003e\nwget \u003ca href=\"http://www.coreseek.com/uploads/sources/mmseg3_0b2.tar.gz\"\u003ehttp://www.coreseek.com/uploads/sources/mmseg3_0b2.tar.gz\u003c/a\u003e\nunzip sphinx-0.9.8-rc2-chinese.zip\ntar zxvf …\u003c/p\u003e"
October 14, 2009
通过在UL标签应用相关的css类,实现对LI的控制
"\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eaaaaaaaaaaaaaaaaaaaaa\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ebbbbbbbbbbbbbbbbbb\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eaaaaaaaaaaaaaaaaaaaaa\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ebbbbbbbbbbbbbbbbbb\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e"
October 12, 2009
jQuery+PHP实现FCKEditor内容分页
"\u003cp\u003e如题,用jQuery+PHP实现FCKEditor内容分页,如下:\u003c/p\u003e\n\u003cp\u003ePHP分页函数:\n/*\u003cstrong\u003e****\u003cem\u003e*\\\u003c/em\u003e*FCKEditor分页处理***\u003c/strong\u003e****/\nfunction pageBreak($content)\n{\n//把文章内容按照\u003c/p\u003e\n\u003cp\u003e分割成数组\n$content = $content;\n$pattern = “/\u003c/p\u003e\n\u003cp\u003e\u0026lt;/span\u0026gt;\u0026lt;/div\u0026gt;/”;\n$strSplit = preg_split($pattern, $content, -1, PREG_SPLIT_NO_EMPTY); //将文章内容分割成数组\n$count = count($strSplit); //分割后的数组单元数目\n$outStr = “”; //返回的字串\n$i = 1;\u003c/p\u003e\n\u003cp\u003eif ($count \u0026gt; 1 ) {\n$outStr = “\n”;\nforeach($strSplit as $value) {\nif ($i \u0026lt;= 1) {\n$outStr .= “\u003c/p\u003e\n\u003cp\u003e$value\u003c/p\u003e\n\u003cp\u003e”;\n} else {\n$outStr .= “\u003c/p\u003e\n\u003cp\u003e$value\u003c/p\u003e\n\u003cp\u003e”;\n} …\u003c/p\u003e"
October 6, 2009
用VMWare,在Xp下虚拟Win7
"\u003cp\u003e先说下我电脑的配置——\n处理器:AMD 5000+(黑)\n内存:2G\n硬盘:160G\n显卡:8600GT\n网卡:NF主板自带\n主板:Biostar T550 SE\u003c/p\u003e\n\u003cp\u003e————————————————我是过度的分割线—————————————\u003c/p\u003e\n\u003cp\u003e终于下完了Win7_7000的ISO文件,不过鉴于电脑中已经有了Win7的其他版本,还是先用虚拟机看看7000版本中,Win7是否有什么不一样的地方\u003c/p\u003e\n\u003cp\u003e我使用的虚拟机是VMWare6.5版本,VMware虚拟机用的很习惯,而且汉化版本和破解程度也很好,在网上的资源很多,推荐刚刚接触虚拟机的XDJM们用。\u003c/p\u003e\n\u003cp\u003e适合用虚拟机的人群:\u003c/p\u003e\n\u003cp\u003e1、懒人,只想尝鲜;\n2、系统配置不好,新系统跑起来巨慢的\n3、没事做系统评测的闲人(仅指我)\u003c/p\u003e\n\u003cp\u003e————————————————我是教程的分割线—————————————\u003c/p\u003e\n\u003cp\u003e一、VMWare创建虚拟机:\u003c/p\u003e\n\u003cp\u003e1、首先,创建一个新的虚拟机,如下图点击\n\u003cimg src=\"http://img.pconline.com.cn/images/bbs4/200812/31/1230722751200.jpg\" alt=\"\"\u003e\u003c/p\u003e\n\u003cp\u003e2、点击下一步,在我们按照向导来规划虚拟机,当然有经验的也可以使用“用户模式”,因为里面对内存等硬件有额外的配置过程,我在这里面按照向导来\u003c/p\u003e\n\u003cp\u003e3、选择想要虚拟的操作系统,其实怎么选都可以,只 …\u003c/p\u003e"
October 3, 2009
Sphinx全文索引安装教程
"\u003cp\u003e首先了解一下sphinx全文索引的相关知识\u003c/p\u003e\n\u003cp\u003e官方网站: \u003ca href=\"http://www.sphinxsearch.com/\"\u003ehttp://www.sphinxsearch.com/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e官方文档: \u003ca href=\"http://www.sphinxsearch.com/docs/\"\u003ehttp://www.sphinxsearch.com/docs/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e中文支持: \u003ca href=\"http://www.coreseek.cn/\"\u003ehttp://www.coreseek.cn/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e中文使用手册下载: \u003ca href=\"http://www.coreseek.cn/uploads/pdf/sphinx_doc_zhcn_0.9.pdf\"\u003ehttp://www.coreseek.cn/uploads/pdf/sphinx_doc_zhcn_0.9.pdf\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e基本上看看上面的官方教程和中文使用手册,你应该会安装和使用Sphix全文索引,当然,还有一些细节,需要不断的google和baidu,那为了节省大家的时间,就出一个完整的Sphinx安装教程和结合PHPWIND程序的使用教程(PHPWIND7.5版本支持)。\u003c/p\u003e\n\u003cp\u003e接下来开始Sphinx的技术之旅吧!\u003c/p\u003e\n\u003cp\u003e考虑到Sphinx全文索引使用的实际需要,主要介绍Sphinx全文索引中文方面的支持。\n这里需要感谢\u003cstrong\u003e李沫南\u003c/strong\u003e同学对Sphinx全文索引中文支持的贡献!\n**\n一,Windows下安装Sphinx**\n1,开始前的准备工作\n来源: \u003ca href=\"http://www.coreseek.cn/products/ft_down/\"\u003ehttp://www.coreseek.cn/products/ft_down/\u003c/a\u003e\n …\u003c/p\u003e"
October 3, 2009
IBM 机做 READ1
"\u003cp\u003e如何使用LSI配置RAID1\nX服务器中有一些集成LSI SCSI控制器的机型,在开机自检时按CTRL C可以配置两个硬盘的镜像。但是当升级BIOS之后,CTRL C中的一些设置发生了变化,配置方法也较以前的版本有些差异。\u003c/p\u003e\n\u003cp\u003e新版本的配置步骤:\n1.启动服务器,在自检过程中按CTRL C键,进入到菜单(双通道LSI控制器)\n2.选择硬盘所在SCSI通道回车\n3.选择,回车。\n4.发现两个硬盘,选择一个为主盘,在按减号。\n5.系统提示按F3保存磁盘的数据,按Delete删除磁盘上的数据。如果这个磁盘上有操作系统,一定要选择F3.完成之后下面的[No]变成[Yes].\n6. 在第二个磁盘上[No]的位置按减号:\n7.系统警告这个磁盘上的信息会丢失,按DELETE删除这个磁盘上的所有数据,或者按任意键取消。按DELETE,第二个磁盘的[No]也会变成[Yes],重启系统,开始同步磁盘。\u003c/p\u003e\n\u003cp\u003e旧版本\n1) 重启主机 按 CTRL-C 进入配置菜单 ,光标放在第一个通道上,按继续\n2) 选择 DEVICE PROPERTIES 可发现硬盘,按回到前一菜单\n3) 选择 MIRRORING …\u003c/p\u003e"
September 26, 2009
怎样调整输入法顺序
"\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e调整调出输入法的顺序,下面的方法均可:\n1.修改注册表法:\n在注册表编辑器(在“开始/运行”对话框中输入“REGEDIT”)中展开:“HKEY_CURRENT_USER\\Keyboard Layout\\Preload”分支,可看到名为”1”、”2”、”3”…的文件夹,它们分别顺序对应输入法菜单中的各项输入法。假设当前输入法菜单中,全拼对应的文件名是2,智能ABC对应的文件名是5,可先将5改为6(点右键选“重命名”即可修改),然后将2改为5,再将6改为2,最后重启系统。可看到输入法菜单中全拼和智能ABC的位置调换了。\n2.软件法\n我们可以用《Windows优化大师》或《超级魔法兔子》等软件来调整。运行《Windows优化大师》后,进入“系统个性设置”选项卡中的“输入法顺序”,选中任一输入法后,通过右边的“向上”、“向下”按键,调整到合适位置即可;同样,“超级魔法兔子”也用一个“输入法”选项供调整。\n3.重装法\n重新添加输入法以达到调整顺序的目的,具体方法:在控制面板中找到“输入法”图标双击打开输入法,找到需要调整的输入法,把它前面的输入法依次删除(这里删除并不是真的把输入法从电脑中删除, …\u003c/code\u003e\u003c/pre\u003e"
September 24, 2009
windows2003下的分区工具软件
"\u003cp\u003eAcronis PartitionExpert 2003是一个易用强大的分区管理程序,它支持常用的FAT16/FAT32,NTFS,Linux Ext2/Ext3,Linux Swap,ReiserFS格式的分区。它可以让你的硬盘使用的更好,可以帮你分区,改变分区的大小,复制分区,分区格式变换(FAT16,FAT32之间,Linux Ext2格式和Ext3格式之间的数据无损转换)等等。如果你对这些不熟悉,软件提供自动模式给使用者,对高级的使用者,软件提供了专家模式,软件的运行速度快于比现在的其他分区管理程序。软件支持大于180G的硬盘。\u003c/p\u003e\n\u003cp\u003e前些时候换了硬盘,由于分区不够合理,使用一段时间后,非Linux分区空间告急,看来需要向Linux分区要点空间了。鉴于笔者的硬盘上的分区类型太多,笔者找到了一款号称完全支持众多分区格式的无损分区软件——Acronis PartitionExpert,决定用它来试一下。\u003c/p\u003e\n\u003cp\u003e分区工具\u003c/p\u003e\n\u003cp\u003e软件名称:Acronis PartitionExpert\u003c/p\u003e\n\u003cp\u003e软件大小:11.5MB\u003c/p\u003e\n\u003cp\u003e软件类型:共享软件\u003c/p\u003e\n\u003cp\u003e下载地址:http://www.acronis.com\u003c/p\u003e\n\u003cp\u003e它的安装非常简单, …\u003c/p\u003e"