Ferret + Rmmseg

阅读更多
首先,在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("查询内容")

手工更新索引
Ruby代码 复制代码

   1. Model.disable_ferret 
   2.  
   3.  
   4.  
   5. #create or modify records 
   6.  
   7.  
   8.  
   9. Model.enable_ferret 
  10.  
  11.  
  12.  
  13. Model.bulk_index(id_array) 

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的分词
Ruby代码 复制代码


   acts_as_ferret({:fields =>   {:title=>{:store=>:yes}, :body =>{:store=>:yes,:term_vector=>:with_positions_offsets  }},store_class_name=>true},
  {:analyzer=>RMMSeg::Ferret::Analyzer.new,:remote=>true })

你可能感兴趣的:(rmmseg,Ruby,Ubuntu,SVN,.net)