`
yangzhihuan
  • 浏览: 167512 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Thinking Sphinx + Coreseek + rmmseg的安装与使用

阅读更多

要在Rails上使用全文检索,选择一直不多,以前我一直是使用Ferret + Act_as_ferret + rmmseg的.不过Ferret不支持ruby 1.9,好像也很久没更新了.现在Rails上可用的全文检索又多了一个,那就是Thinking Sphinx . JavaEye的 司徒正美 同学已经写了篇介绍TS的大作,详见利用thinking sphinx实现全文检索 .我只是记录一下我在本机的安装和使用.

 

安装:

 

  1. 安装coreseek:Coreseek全文搜索服务器,它是基于Sphinx的.作者已经提供各个平台的可用版本,并提供下载 我的机器是ubuntu 9.04,所以安装非常的简单,直接下载deb包回来安装即可,没有遇到任何问题.
  2. 安装mmseg:这个是用来中文分词的.刚才那个下载地址就可以下载,除了下载deb安装包(如果你也是使用ubuntu的话),还记得下载它的源代码回来,因为生成中文词典的时候要用.
  3. 安装thinking sphinx :我是使用gem的方法安装,详细的安装方法,请参看官方的说明文档,很详细.
配置:
  1. 在config/environment.rb文件中加上一句:config.gem "freelancing-god-thinking-sphinx",:lib => 'thinking_sphinx',:version => '1.2.5'
     
  2. 在你的项目根目录下的Rakefile文件上加上: require 'thinking_sphinx/tasks'
     这个的作用就是你可以使用TS为你准备的很多个rake task.
  3. 在你的model中加上索引: #基本上都是这样子的
    define_index do
          indexes :content
          has :created_at
          set_property :delta => true #这个是实时索引,注意,你的model表中得有delta这个字段,类型是boolean
    end
     
  4. 执行这个rake(请注意第 2 步): #如果你不生成配置文件的话
    rake ts:in
    #但是如果没有配置文件的话,你不能配置中文分词,所以还是用下面这个吧
    rake ts:index
     执行完这个,在config目录,你会看到 development.sphinx.conf 这个文件.
  5. 在修改 development.sphinx.conf 配置文件之前,要先生成中文分词的词典.  cd mmseg-3.1/data
    tar xvfz  mmseg-3.1.tar.gz  
    mmseg -u unigram.txt
    
    #这时目录下会生成一个unigram.txt.uni文件,这个就是词典了,要改名,这个是必须的,名字也是定死的,只能是uni.lib
    mv unigram.uni uni.lib
    
    #然后随便把它放到一个目录去,这个目录在配置Sphinx的时候有用,比如我的
    cp uni.lib ~/xdict
     
     
  6. 修改  development.sphinx.conf 配置文件 #找到这个文件中 charset_type = utf-8 的地方
    charset_type = utf-8
    #改为:
    charset_type = zh_cn.utf-8
    #并在下面多加一句:
    charset_dictpath = /home/yanghuan/xdict/ #这个目录就是存放刚才中文词典的目录
     
中文全文检索基本上大功告成.
有些值得注意的地方:
  1. 由于使用了实时索引,所以之前的数据是没有索引的,如果你要重建索引的话,可以使用 rake ts:rebuild
     但是不知为何,我重建索引的时候,配置文件居然也变成了默认,所以如果你修改过配置文件的话,要小心.
  2. 1.2版本以上 #1.2版本以上,使用
    ThinkingSphinx.search
    
    #这个不再使用了
    ThinkingSphinx::Search.search
     
  3. ThinkingSphinx.search params[:q],:classes => [Post,Comment],:match_mode => :any
    #当 params[:q] = 'this' ,注意这里是一个单词的时候,无法匹配,我理解这个模式是任意匹配其中之一,不知是为何.
     
其它的Thinking Sphinx的使用方法可以上它的官方网站看,上面已经介绍得很详细了.而coreseek的安装也已经极为方便,也就是中文分词的配置是要注意一下的.
在网上也找到其它几篇写得很详细的coreseek安装的文章,共享之.
1
0
分享到:
评论

相关推荐

    sphinx+coreseek安装配置

    **Sphinx+CoreSeek安装配置指南** Sphinx和CoreSeek是两种强大的全文搜索引擎技术,尤其在处理大量数据的检索和高效率搜索时表现卓越。它们常被用于网站、数据库和其他需要快速、精确搜索功能的应用中。本文将详细...

    centos+php+coreseek+sphinx+mysql之一coreseek安装篇

    首先附上coreseek4.1版本下载 前期准备工作: yum install make gcc g++ automake libtool MySQL-client libMySQLclient15-dev libxml2-dev libexpat1-dev autoconf automake libtool 假设我们将文件包下载在 /...

    sphinx+mysql 安装手册

    **Sphinx+MySQL安装手册** Sphinx是一款高性能的全文搜索引擎,常用于构建高效的数据检索系统。结合MySQL数据库,可以构建出强大的、适用于千万级数据的全文检索解决方案。本手册将详细讲解如何在生产环境中安装和...

    sphinx_coreseek使用手册

    #### 二、Windows 平台上安装和使用 Sphinx/Coreseek ##### 2.1 获取文件 - **Coreseek**:从官方网站 [www.coreseek.cn](http://www.coreseek.cn/) 获取最新版本的Coreseek,截至撰写本文时,版本为coreseek-4.1...

    sphinx-coreseek中文手册

    sphinx-coreseek中文手册 sphinx-coreseek中文手册 sphinx-coreseek中文手册 sphinx-coreseek中文手册

    coreseek(sphinx + 中文分词)

    Coreseek 是一款中文全文检索/搜索软件,以GPLv2许可协议开源发布,基于Sphinx研发并独立发布,专攻中文搜索和信息处理领域,适用于行业/垂直搜索、论坛/站内搜索、数据库搜索、文档/文献检索、信息检索、数据挖掘等...

    搭建Sphinx+MySQL5.1x+SphinxSE+mmseg中文分词搜索引擎架构

    概述:本资源旨在介绍搭建Sphinx+MySQL5.1x+SphinxSE+mmseg中文分词搜索引擎架构的过程,涵盖了Sphinx的基本概念、特性、安装和配置 MySQL+SphinxSE存储引擎、mmseg中文分词搜索引擎架构的搭建过程。 一、Sphinx...

    sphinx mmseg coreseek 搜狗 词库

    在IT领域,Sphinx、MMSEG、CoreSeek和搜狗词库是四个与搜索引擎和文本处理相关的技术。这里,我们将详细探讨这些技术及其在实际应用中的作用。 首先,Sphinx是一个开源全文搜索引擎,广泛用于网站后台,提供高效、...

    CoreSeek/Sphinx中文手册

    CoreSeek/Sphinx是一款强大的开源全文搜索引擎,最初基于俄罗斯数据库公司Altap的数据库搜索引擎技术。它为互联网和企业级应用提供快速、有效的搜索解决方案。Sphinx特别适合处理大量数据和提供实时搜索服务。Sphinx...

    sphinx+xdict+安装说明.zip

    4. **编译与安装**:进入Sphinx源码目录,执行配置脚本,配置过程中要确保选择安装中文支持。然后进行编译和安装,这个过程可能需要安装一些额外的依赖,如libxml2和libxslt。 5. **配置Sphinx**:在Sphinx的配置...

    sphinx+php检索引擎

    #### 四、Sphinx的下载与安装 为了更好地支持中文环境,推荐使用基于Sphinx开发的Coreseek软件。Coreseek在Sphinx的基础上进行了改进,尤其是在中文支持方面表现更佳。 1. **下载安装程序**:访问官方网站...

    Sphinx+Python+Oracle构建全文检索系统.pdf

    Sphinx+Python+Oracle构建全文检索系统.pdf

    sphinx+xdict资源包

    4. **安装与使用**: - **安装Sphinx**:通常通过Python的pip工具进行安装,命令行输入`pip install sphinx`。 - **配置Sphinx**:创建`conf.py`配置文件,定制输出样式、主题、目录结构等。 - **安装XDict**:...

    基于Sphinx+MySQL的千万级数据全文检索

    【基于Sphinx+MySQL的千万级数据全文检索】的架构设计着重解决大数据量下的高效全文检索问题。Sphinx是一款源自俄罗斯的开源全文搜索引擎,它在处理海量数据时表现出极高的性能和可扩展性。在DELL PowerEdge 6850...

    中文搜索引擎sphinx索引coreseek-4.1-beta.zip压缩文件

    coreseek是一款基于sphinx开源的搜索引擎,因为sphinx只支持英文和俄文(即只能进行英文分词和俄文分词),所以如果要使用sphinx做中文搜索的话,需要自己独立去导入中文词库。而coreseek里集成了中文词库模块mmseg,...

    浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别

    本文将详细探讨Coreseek、Sphinx-for-chinaese和Sphinx+Scws这三种针对中文环境优化的解决方案。 首先,Sphinx是一个基于SQL的全文检索引擎,具备高速建索引和高性能搜索的特点。它的优势在于能处理大量数据,并且...

Global site tag (gtag.js) - Google Analytics