phpsphinxwindows
① php中如何使用sphinx搜索引擎
一. 安装、配置
1.ubuntu安装sphinx
如果没有安装aptitude ,需要先安装 aptitude
2.配置
3.执行命令分词,会在/var/lib/sphinxsearch/data/test1 目录下生成一堆索引文件
sudo indexer -c /etc/sphinxsearch/sphinx.conf test1
test1为上述配置文件的index名字
4.命令行测试搜索
sudo search -c /etc/sphinxsearch/sphinx.conf google
二.在php中使用,安装php、sphinx的依赖库
安装 aptitudeapt-get install aptitude
sudo aptitude install libsphinxclient-dev libsphinxclient-0.0.1 -y
2.安装php sphinx的扩展
安装 pecl
sudo apt-get install php-pear php5-dev
在安装sphinx
sudo pecl install sphinx
3.在配置文件php.ini中添加sphinx的扩展,
我的php.ini文件为
sudo vim /etc/php5/fpm/php.ini
获取自己的php.ini文件位置使用
php5-fpm -i|grep ini
添加:
extension=sphinx.so
4.重启php5-fpm,查看php是否加载sphinx模块
sudo /etc/init.d/php5-fpm restart
5.将search程序运行在后台
sudo searchd -c /etc/sphinxsearch/sphinx.conf
默认监听配置文件中的端口:9312
6.在thinkphp中调用搜索
搜索完毕,返回结果(默认返回20条,修改返回条数用添加$s->SetLimits(0, 1000, 1000);),搜索速度相当快,索引80w条数据的title和description两个字段耗时不到10s,该搜索引擎支持增量索引,多种模式的搜索,网上的资料也非常多
② 常用的服务器软件有哪些
系统相关 · Windows 2003 Sp2(微软win2003官方Sp2升级包)</A> · Windows 2000 Sp4(微软win2000官方Sp4升级包)</A> >> 服务器调试环境 · Apache v2.2.11 for windows(最好的WEB服务器之一)</A> · IIS(Internet信息服务管理器) IIS v6.0(不需要使用光盘)</A> · IIS(Internet信息服务管理器) IIS v5.0(适用win2000)</A> · .NET Framework v2.0 多国语言版(.NET环境安装)</A> · .NET Framework v3.5 简体中文版(.NET环境安装)</A> · PHP v5.3.0 for windows(独立服务器推荐使用)</A> · PHP v4.4.8 for windows(广泛用于虚拟主机)</A> · Zend Optimizer v3.3.3 for windows(运行Zend环境必备)</A> >> 常用组件 · AspEMail v5.0.0.4 特别版(ASP发信组件)</A> · Jmail Pro v4.4 特别版(ASP发信组件)</A> · AspJpeg v1.9.0.1(ASP图片水印组件) </A>· GD v2.0.34(PHP图片组件)</A> >> 数据库服务器 · SQL Server 2005 SP2 简体中文版</A> · MySQL v4.1.22 for windows 解压安装版(配合php4最稳定)</A> · MySQL v5.1.44 for windows 解压安装版(配合php5最佳)</A> >> ftp服务器 · Serv-U FTP Server v9.4.0.2 多国语言</A> · Serv-U FTP Server v8.2.0.3 多国语言官方安装版 · Serv-U FTP Server v7.4.0.1 多国语言特别版(界面变化很大)</A> · Serv-U FTP Server v6.4.0.6 汉化特别版(使用最广泛的FTP服务器)</A> >> 邮件服务器 · WinWebMail(WebEasyMail) v3.8.0.1 企业版(建立小型邮件服务器)</A> >> 代理服务器 · 遥志代理服务器(CCProxy)2010 Build 20100308(中文代理服务器)</A> >> 远程控制 · 2003 远程桌面连接</A> · windows终端连接器加强版(解决终端人数过多问题)</A> · Vista远程桌面连接</A> · PCAnyWhere v12.1 特别版(着名的远程控制软件)</A> · SecureCRT v5.5.2 特别版(可Telnet控制远程系统)</A> · WinSCP v4.2.5 多国语言版(linux常用的FTP工具)</A> · F-Secure SSH Client v5.4.56 特别版(可远程管理win/linux)</A> · PuTTy v0.6.0(免费的telnet和ssh客户端)</A> >> Linux常用软件 · Apache v2.2.11 For Linux </A>· PHP v4.4.8 For Linux</A> · PHP v5.3.1 Released For Linux</A> · MySQL v5.1.33 For Linux</A> · Vsftp v2.0.6 For Linux(Unix/Linux安全稳定的FTP服务器)</A> >> 其它相关 · WinRAR v3.93 32Bit 汉化特别版(最常用的压缩/解压缩工具)</A> · 360安全卫士 v7.0.0.1033(将360实时保护中的ARP防火墙的主动防御改为始终启用)</A> · ARP防火墙 v4.1.1 特别版(防范ARP攻击)</A> · DU Meter v4.01 汉化特别版(服务器流量监测)</A> · LeapFTP v2.7.6.613 汉化特别版(最简单易用的FTP工具)</A> · FlashFXP v3.8 Beta1(3.7.9 Build 1348) 简体中文绿色特别版(可FXP互传的FTP工具)</A> · Recover4all Professional v3.14 汉化特别版(恢复被删除的文件)</A> · EVEREST Ultimate Edition v5.50.2109 Beta 多国语言绿色测试版(测试软硬件系统信息) · HD Tune Pro v4.01 汉化特别版(硬盘性能诊断测试) · 阿江ASP探针 v1.93</A> · phpMyAdmin v3.3.2 For Windows 官方多国语言版(WEB页面管理MySQL数据库) · 3389端口更改器 · EditPlus v3.12.540 烈火汉化绿色版 · CurrPorts v1.80 官方简体中文版
③ 如何使用sphinx生成python第三方模块的文档
在使用Python的过程中,无疑我们经常需要下载安装第三方模块(如何安装:URL),而安装后我们必然会面临一个使用的问题,这时候我们需要阅读相关的文档。可是我们会发现下载的第三方模块目录的doc文件夹下只有一个conf.py文件和一些后缀为rst的文件,文档在哪里呢?
其实Python提供了专用的文档生成工具,有了这些工具就可以很方便地生成我们需要的文档了。本文就是介绍如何使用一些第三方工具(sphinx)来生成这些文档。
1.下载并安装Docutils:http://docutils.sf.net/。
2.下载并安装sphinx :http://pypi.python.org/pypi/Sphinx/1.1。Sphinx 是用来生成文档的,设计的初衷是为了生成python的文档。可以生成html、htmlhelp/chm、qthelp、devhelp、latex、man 等格式的文档。
3.在Widnows环境下,打开命令提示符,使用cd /d 命令将当前目录切换至Sphinx目录,运行命令:python sphinx-build.py -b html sourcedir builddir,其中,-b后面的字符串用于控制输出文档的格式,默认为html。sourcedir表示文档来源文件夹(一般就是包含conf.py文件的那个文件夹),builddir表示生成文档的目标文件夹。(注:在Windows环境下,请不要将sphinx文件夹、sourcedir 和builddir 设置成包含中文的路径,否则容易出现一些默名其妙的错误,例如编码错误。)
④ 全文检索工具有哪些
1. Lucene
Lucene的开发语言是java,也是Java家族中最为出名的一个开源搜索引擎,在Java世界中已经是标准的全文检索程序,它提供了完整的查询引擎和索引引擎,没有中文分词引擎,需要自己去实现,因此用Lucene去做一个搜素引擎需要自己去架构.另外它不支持实时搜索,但linkedin和twitter有分别对Lucene改进的实时搜素. 其中Lucene有一个C++移植版本叫CLucene,CLucene因为使用C++编写,所以理论上要比lucene快.
2. Sphinx
Sphinx是一个用C++语言写的开源搜索引擎,也是现在比较主流的搜索引擎之一,在建立索引的事件方面比Lucene快50%,但是索引文件比Lucene要大一倍,因此Sphinx在索引的建立方面是空间换取事件的策略,在检索速度上,和lucene相差不大,但检索精准度方面Lucene要优于Sphinx,另外在加入中文分词引擎难度方面,Lucene要优于Sphinx.其中Sphinx支持实时搜索,使用起来比较简单方便.
3. Xapian
Xapian是一个用C++编写的全文检索程序,它的api和检索原理和lucene在很多方面都很相似,算是填补了lucene在C++中的一个空缺.
4. Nutch
Nutch是一个用java实现的开源的web搜索引擎,包括爬虫crawler,索引引擎,查询引擎. 其中Nutch是基于Lucene的,Lucene为Nutch提供了文本索引和搜索的API.
对于应该使用Lucene还是使用Nutch,应该是如果你不需要抓取数据的话,应该使用Lucene,最常见的应用是:你有数据源,需要为这些数据提供一个搜索页面,在这种情况下,最好的方式是直接从数据库中取出数据,并用Lucene API建立索引.
5. DataparkSearch
DataparkSearch是一个用C语言实现的开源的搜索引擎. 其中网页排序是采用神经网络模型. 其中支持HTTP,HTTPS,FTP,NNTP等下载网页.包括索引引擎,检索引擎和中文分词引擎(这个也是唯一的一个开源的搜索引擎里有中文分词引擎).能个性化定制搜索结果,拥有完整的日志记录.
6. Zettair
Zettair是根据Justin Zobel的研究成果为基础的全文检索实验系统.它是用C语言实现的. 其中Justin Zobel在全文检索领域很有名气,是业界第一个系统提出倒排序索引差分压缩算法的人,倒排列表的压缩大大提高了检索和加载的性能,同时空间膨胀率也缩小到相当优秀的水平. 由于Zettair是源于学术界,代码是由RMIT University的搜索引擎组织写的,因此它的代码简洁精炼,算法高效,是学习倒排索引经典算法的非常好的实例. 其中支持linux,windows,mac os等系统.
7. Indri
Indri是一个用C语言和C++语言写的全文检索引擎系统,是由University of Massachusetts和Carnegie Mellon University合作推出的一个开源项目. 特点是跨平台,API接口支持Java,PHP,C++.
来自网络。