Ferret + Rmmseg
拓拔高畅
2023-12-01
首先,在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 })