- 浏览: 103329 次
- 性别:
- 来自: 南京
最新评论
-
991142:
我也遇到这种问题。现在跟你情况貌似一样。
抓取网页时转换字符集出现问题(问题已解决) -
wysrjh:
期待多写点东西。过来取经来了
restful_authentication的site_key问题 -
healer_kx:
我觉得这种语法很晦涩,不应该形成这种差别,一般来说,有个for ...
Ruby中闭包与block -
liu1084:
为啥不转换成utf8呢?
全国省市县三级数据库 -
wtb:
是的。我这是安装的开发环境。服务器环境我一般不用ubuntu。 ...
ubuntu下rmagick快速安装(备忘)
参考 dlee 的 http://www.iteye.com/topic/200065
在安装mmseg的过程中出错的解决办法以及自己整理一下在ubuntu8.1下的完整安装与使用
g++更换到4.1版本,python使用2.5编译coreseek通过
李沫南还开发了一个支持中文全文检索的Sphinx定制版本——Coreseek,除了支持中文的全文检索外,Coreseek最大的特点是支持 使用Python提供自定义的数据源。我们可以简单地理解为:Coreseek = Sphinx + libmmseg + py_datasource。
Sphinx的主要优势是:
1. 性能优异:robbin以前已经介绍过。
2. 容易学习:架构很清晰,学习成本很低。
3. 与数据库结合更加紧密:对于以数据库为中心的Web应用来说,实现全文检索的功能,使用Sphinx开发工作量更低。
对于中文Rails开发人员而言,做全文检索的最佳组合是Sphinx + libmmseg + Ultrasphinx。Ultrasphinx是一个Rails插件,Rails开发人员可以使用它来很方便地调用Sphinx的功能。
这篇文档先介绍一下这些工具的安装方法,与开发相关的内容将在后续的文章中介绍。
自己打补丁比较麻烦,而且补丁是针对特定的Sphinx版本的,若版本不匹配会更麻烦。最简单的方法是直接使用李沫南已经打好补丁的Coreseek包(打好补丁的sphinx),和自己打补丁的效果是一样的:
http://www.coreseek.com/uploads/sources/coreseek_fulltext_2.5.2.tar.gz
tar zxvf coreseek_fulltext_2.5.2.tar.gz
1、还需要从这里http://www.coreseek.cn/opensource/mmseg/ 下载libmmseg:
http://www.coreseek.com/uploads/sources/mmseg-0.7.3.tar.gz
tar zxvf mmseg-0.7.3.tar.gz
首先编译libmmseg:
cd mmseg-0.7.3
./configure
make
make install
很不幸,这里我出错了,错误提示为:css/UnigramCorpusReader.cpp:89: error: 'strncmp' was not declared in this scope
手动修改了src/css/UnigramCorpusReader.cpp
在上面添加了一句
#include <string.h>
2、然后编译Sphinx,使用李沫南打好补丁的Coreseek包。注意编译这个版本之前需要先安装一个python-dev的包,在RedHat/CentOS中这样安装:
rpm -ivh python-devel-2.4.3-19.el5.i386.rpm
可能还需要安装mysql-devel这个包,在RedHat/CentOS发行版中有,我这里已经安装好了。
在ubuntu下用apt-get 来搜索并安装
另外在编译前做configure时还需要设置两个环境变量。
cd coreseek_fulltext_2.5.2.source
CPPFLAGS=-I/usr/include/python2.5 LDFLAGS=-lpython2.5 ./configure
make
make install
3. 安装Ultrasphinx
Sphinx在Linux和Windows上都已经安装好了,我们可以通过一个Rails程序来做一下测试。
假设我们原先有一个Rails应用thought_log
cd test_sphinx
在安装Ultrasphinx之前需要先安装一个Ruby Gem:
gem install chronic
然后安装Ultrasphinx插件:
另外在编译前做configure时还需要设置两个环境变量。
cd coreseek_fulltext_2.5.2.source
CPPFLAGS=-I/usr/include/python2.5 LDFLAGS=-lpython2.5 ./configure
make
make install
3. 安装Ultrasphinx
Sphinx在Linux和Windows上都已经安装好了,我们可以通过一个Rails程序来做一下测试。
假设我们原先有一个Rails应用thought_log
cd test_sphinx
在安装Ultrasphinx之前需要先安装一个Ruby Gem:
gem install chronic
然后安装Ultrasphinx插件:
使用 git可这么安装,首先到项目目录
cd vender/plugin
git clone git://github.com/defunkt/ultrasphinx.git
或
ruby script/plugin install -x svn://rubyforge.org/var/svn/fauna/ultrasphinx/trunk
若这个Rails应用尚未提交到SVN中,或者使用其他版本管理工具,则执行:
ruby script/plugin install svn://rubyforge.org/var/svn/fauna/ultrasphinx/trunk
注意,执行这条命令前需要先安装好SVN for Windows(不是TortoiseSVN)。
ruby script/plugin install -x svn://rubyforge.org/var/svn/fauna/ultrasphinx/trunk
若这个Rails应用尚未提交到SVN中,或者使用其他版本管理工具,则执行:
ruby script/plugin install svn://rubyforge.org/var/svn/fauna/ultrasphinx/trunk
注意,执行这条命令前需要先安装好SVN for Windows(不是TortoiseSVN)。
4. 修改Sphinx配置文件并创建索引
安装完Ultrasphinx之后,将:
vendor/plugins/ultrasphinx/examples/default.base
复制到:
config/ultrasphinx/default.base
为了正常支持中文字符的全文检索,需要对default.base做一些修改
将其中的:
charset_type = utf-8
改为:
charset_type = zh_cn.utf-8
并且在charset_type设置的下面加入一行:
charset_dictpath = D:/CsFullText25/share/csft_config/dict (此目录为你的coreseek源码的dict地址,你可 cp到别的地方)
然后删除所有charset_table的设置。
要注意在Windows上和Linux上路径的不同写法,为了在Windows上正常使用,需要将default.base中的所有路径改为绝对路径,例如,要将:
<% tmp = "/tmp/sphinx/" %>
改为:
<% tmp = "D:/tmp/sphinx/" %>
修改Model代码,加入全文检索支持:
假设我有一个Model叫做Project,其中有一个属性叫做name,我希望对这个属性做全文检索,我在project.rb中加入一行:
is_indexed :fields => ['created_at', 'name']
生成配置文件:
rake ultrasphinx:configure
这条命令执行后,在config/ultrasphinx下创建了一个development.conf,这个文件就是Sphinx的配置文件。
创建索引:
rake ultrasphinx:index
索引相关的文件创建在:
/tmp/sphinx
其中,“/tmp”是环境变量TMP的值。
5. 启动Sphinx的searchd服务:
rake ultrasphinx:daemon:start
这个时候会在3313端口启动一个searchd,搜索请求将会全部发送到这个端口来执行。
也可以自己手工来启动searchd
searchd --config "/:\WORK\test_shphinx\config\ultrasphinx\development.conf"
6. 测试
ruby script/console
search = Ultrasphinx::Search.new(:query=>'中国')
search.run
search.results
如果执行这几条语句都没有报错,那么安装就成功了。
使用点滴:
1、要特别注意此文件
development.conf
sphinx是完全根据此文件中的内容来配置和搜索,也就是说,如果想修改model中的index字段,得要修改或重新生成此文件
2、更多的查询和索引方式,参考
http://blog.evanweaver.com/files/doc/fauna/ultrasphinx/classes/ActiveRecord/Base.html
发表评论
-
rjcop处理图片上传时截取
2009-12-21 02:11 1103http://github.com/jschwindt/rjc ... -
由于页面中对代码加亮的JS
2009-11-05 12:57 848http://alexgorbatchev.com/wiki/ ... -
git server+continuouse integrity
2009-10-28 15:12 1343gem install integrity #安装Int ... -
升级到snow 10.6 ROR的解决
2009-10-13 23:25 891http://weblog.rubyonrails.org/2 ... -
ruby console plugin
2009-10-12 11:09 1194前几天在看 screencasts,发现一好插件:Hirb ... -
restful_authentication的site_key问题
2009-08-17 02:56 1062好久没来写东西了,最近项目太忙,也懒的写啥。不过今天花了两个小 ... -
ubuntu下rmagick快速安装(备忘)
2008-12-09 21:54 2894sudo apt- get install libmagick ... -
关于rails的route的性能
2008-12-05 12:20 1210今天跟蛋黄讨论关于route的性能问题,经过跟踪调试发现,具名 ... -
private的一个问题
2008-07-03 15:34 990首先,要明白这几个ruby的原理1、默认(包括你所用的定义方法 ... -
rails1.2.3的在rubyforge更新到1.0.0以后产生的问题解决
2008-06-17 17:38 825运行时提示已active0.4.5.不能active1.0.0 ... -
Ruby中闭包与block
2008-06-17 08:01 1243转道友Blog中的一小段code说明ruby中的闭包 proc ... -
截取中文
2008-06-13 21:45 755def trc_utf8(text, length = 4 ... -
用ruby抓取gzip网页
2008-05-26 19:42 2021require 'net/http'require 'uri' ... -
让url更人性化_acts_as_slugable
2008-05-26 09:29 894== Installation<tt>./scri ... -
在ror项目中使用paypal
2008-05-21 18:18 934http://www.codyfauser.com/2008/ ... -
全国省市县三级数据库
2008-05-12 22:41 5885中国省,市,县(区)三级数据信息,已转换成mysql的dump ... -
memcached+libmemcached+memcache_client
2008-05-02 16:33 2793ubuntu下安装memcached非常简单 运行也很简单 ... -
acts_as_taggable_on_steroids代替原acts_as_taggable
2008-04-23 09:45 21761、安装 ruby script/plugin install ... -
ferret+acts_as_ferret+RMMSeg全文索引+中文分词的使用
2008-04-22 13:21 2794首先,在ubuntu下要安装 atp-get install ... -
rails测试驱动开发中的一些知识点滴
2008-04-21 19:28 1072def setup @controller=***.new ...
相关推荐
sphinx windows 全文检索 搜索引擎sphinx windows 全文检索 搜索引擎sphinx在windows下的安装使用.
sphinx在linux的安装和使用方法
网络管理linux sphinx 安装和使用的资料比较齐全,本文就实际在windosw下的安装经验进行分享。
sphinx 安装使用及使用,文档详细的介绍了sphinx在安装使用中遇到问题及解决办法
Sphinx由俄罗斯人Andrew Aksyonoff 开发的高性能全文搜索软件包,在GPL与商业协议双许可协议下发行。 全文检索是指以文档的全部文本信息作为检索对象的一种信息检索技术。检索的对象有可能是文章的标题,也有可能是...
网上的资料大多是在linux环境下的安装使用,当然,作为生产环境很有必要部署在*nix环境下,作为学习测试,还是windows环境比较方便些。 本文旨在提供一种便捷的方式让Sphinx在windows下安装配置以支持中文全文检索...
Linux下Mysql5.5的Cmake安装以及sphinx结合 Linux下Mysql5.5的Cmake安装以及sphinx结合 Linux下Mysql5.5的Cmake安装以及sphinx结合 Linux下Mysql5.5的Cmake安装以及sphinx结合 Linux下Mysql5.5的Cmake安装以及sphinx...
Sphinx中文手册 sphinx的安装与使用技巧
Sphinx3安装教程以及简单使用配置详解并附带一些容易踩坑点,希望对你有所帮助
pocketsphinx在windows下的中文语音识别 http://blog.csdn.net/itas109/article/details/78999477
2.3. 安装 Sphinx 2.4. 已知的问题和解决方法 2.5. Sphinx 快速入门教程 3. 建立索引 3.1. 数据源 3.2. 属性 3.3. 多值属性 ( MVA : multi-valued attributes) 3.4. 索引 3.5. 数据源的限制 3.6. 字符集 ,...
二、MYSQL+SPHINX+SPHINXSE安装步骤: 5 1、安装python支持 5 2、编译安装LibMMSeg 5 3、编译安装MySQL 5.1.26-rc、Sphinx、SphinxSE存储引擎 5 4、创建Sphinx索引文件和MySQL数据文件存放目录 6 5、创建MySQL配置...
Sphinx搜索引擎架构与使用文档(和MySQL结合)
本文档介绍Sphinx4在Windows下的中文训练过程及注意事项,与本文档配套的是我自己的训练实例bergtrain和用到的软件。 本文档编写日期 2013-04-23 1、为什么要训练? sphinx4目前的版本中仅提供了英文等语音识别库。...
Sphinx 是一个在GPLv2 下发布的一个全文检索引擎,商业授权(例如, 嵌入到其他程序中)需要联系我们(Sphinxsearch.com)以获得商业授权。 一般而言,Sphinx是一个独立的搜索引擎,意图为其他应用提供高速、低空间...
NULL 博文链接:https://baobeituping.iteye.com/blog/870124
码头工人狮身人面像 文档工具链、乳胶依赖项和 Ubuntu 容器中的 ...使用sphinx-quickstart创建一个新的狮身人面像的项目,并make使用产生的自身Makefile中现有的项目。 中的更多信息。 构建的容器可在。 灵感来自 。
基 本上看看上面的官方教程和中文使用手册,你应该会安装和使用Sphix全文索引,当然,还有一些细节,需要不断的google和baidu,那为了节省大 家的时间,就出一个完整的Sphinx安装教程和结合PHPWIND程序的使用教程...
windows下sphinx PHP5.5扩展
sphinx-for-chinese是一款专注于中文搜索的全文检索软件,在sphinx的基础上添加了中文处理模块并优化了中文搜索效果。