欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ferret+acts_as_ferret+RMMSeg全文索引+中文分词的使用

程序员文章站 2022-07-01 08:47:09
...

首先,在ubuntu下要安装

atp-get install build-essential  zlib1g-dev

ruby需要安装dev包

1、安装ferret

sudo gem install ferret

2、安装acts_as_ferret

可用gem

sudo gem install acts_as_ferret

或用plugins

svn://projects.jkraemer.net/acts_as_ferret/trunk/plugin/acts_as_ferret

个人建议用gem稳点

到此安装结束

在model中添加

acts_as_ferret :fields=>[:title,:body] 后面表示索引的字段

程序中查询用  模型名.find_by_contents("查询内容")

手工更新索引

Model.disable_ferret



#create or modify records



Model.enable_ferret



Model.bulk_index(id_array)

安装RMMSeg

RMMSeg是基于*人开发的MMSeg的一个ruby版的中文分词包

sudo gem install rmmseg 

在enviroment.rb中插入

require_gem 'rmmseg'
require 'rmmseg/ferret'

 

然后,模型中使用ferret的时候采用RMMSeg的分词

 acts_as_ferret({:fields =>



       {:title=>{},



     :body =>{:store=>:yes,:term_vector=>:with_positions_offsets



       }}},



       {:analyzer=>RMMSeg::Ferret::Analyzer.new



     })