用了一下ruby的中文分词rmmseg + ferret,发现rmmseg的中文分词并不是很好,比如:Hawkins开始了他第一部掌上电脑的设计构想。搜索“掌上电脑”并不能搜索到结果,但是如果把上面这一句改为:Hawkins开始了他第一部 掌上电脑 的设计构想。请注意“掌上电脑”两边的空格,这样的话,rmmseg就可以正确地分词了。
对英文的分词倒是很准确的(好像个个全文检索对英文分词都很强的吧)。
也不知道是不是我用得不对,贴上我使用的代码:
#全文检索
#rmmseg中文分词
analyzer = RMMSeg::Ferret::Analyzer.new { |tokenizer|
Ferret::Analysis::LowerCaseFilter.new(tokenizer)
}
$index = Ferret::Index::Index.new(:analyzer => analyzer)
acts_as_ferret :field => [:title,:summary,:body] #,:ferret => {:analyzer => analyzer}
#全文检索方法
def self.full_text_search(q, options = {})
return nil if q.nil? or q==""
default_options = {:limit => 10, :page => 1}
options = default_options.merge options
# get the offset based on what page we're on
options[:offset] = options[:limit] * (options.delete(:page).to_i-1)
results = Page.find_by_contents(q, options)
return [results.total_hits, results]
end
分享到:
- 2008-10-05 18:41
- 浏览 1630
- 评论(2)
- 论坛回复 / 浏览 (2 / 2652)
- 查看更多
相关推荐
Ferret可能是通过模拟网络连接,让目标系统将其Cookie发送给Ferret,而不是预期的服务器。 在使用Ferret时,需要具备一定的网络协议知识,特别是HTTP和HTTPS。HTTP是互联网上应用最广泛的数据交换协议,而HTTPS是在...
Go-Ferret是一种基于Go语言开发的声明式Web爬虫系统,它的主要目的是为了简化从互联网上抓取和处理数据的过程。在Web爬虫领域,Go-Ferret提供了一种高效且易于使用的解决方案,尤其适合于UI测试、机器学习以及数据...
Ferret 是 Java 全文搜索引擎 Lucene 的 Ruby 移植版本。 标签:Ferret
FERRET 绘图软件 6.84 for win64 安装方式,解压到任意目录,直接执行bin\bash.exe或bin\mintty.exe原方式操作,直接执行bin\ferret_v6.84.exe 直接进入FERRET
### FERRET简明手册知识点概述 #### 一、FERRET简介与基本操作 - **Commandline模式**:启动FERRET时,默认进入命令行模式,提示符为“yes?”,用户可以通过此模式输入命令。 - **FERRET-GUI**:通过`ferret-gui`...
几年前的黑帽子大会后传出的一个工具Ferret。作者声称可以利用他截获邮箱登录过程中的cookie信息。进而可以随意侵入他人的信箱。曾在黑帽子大会上当场演示如何破解gmail,hotmail等信箱。终于等到作者把代码和工具都...
在这个过程中,使用了ferret工具来执行Cookie劫持,这是一种常见的攻击手段,用于获取用户的登录凭据,特别是那些存储在Cookie中的会话ID。以下是整个过程的详细解释: 1. **环境准备**: 在这个场景中,我们有两...
ruby下的搜索引擎。With the introduction of Ferret, Ruby users now have one of the fastest and most flexible search libraries available. And it's surprisingly easy to use.
Ferret 是一个免费软件 lisp 实现,旨在用于实时嵌入式控制系统。Ferret lisp 编译成自包含的C++11。生成的代码可在支持C++11兼容编译器的任何操作系统和/或微控制器之间移植。它已经过验证,可以在从内存低至2KB 的...
Arduino-ferret.zip,ferret是一个用于实时嵌入式控制系统的自由软件lisp实现。,Arduino是一家开源软硬件公司和制造商社区。Arduino始于21世纪初,深受电子制造商的欢迎,Arduino通过开源系统提供了很多灵活性。
【Ferret-crx插件】是一款专为提高搜索效率设计的浏览器扩展程序,主要针对英语用户群体。这款插件的独特之处在于它提供了一个统一的、便捷的搜索入口,允许用户在多功能框中输入特定的指令来启动搜索,极大地简化了...
"Image Ferret"是一款开源的图像搜索工具,它专为帮助用户在互联网上高效地查找、探索和发现各种图像、照片以及艺术作品而设计。这款软件的独特之处在于它能够自动学习用户的偏好,根据用户对图像的喜好进行智能推荐...
**Ferret CMS 开源内容管理系统详解** Ferret CMS 是一个基于 Zope 平台构建的开源内容管理系统。Zope 是一个强大的Python Web应用程序框架,它为开发人员提供了丰富的功能,使得创建复杂的Web应用变得更为简单。...
【标题】"Ferret.Net-开源" 【描述】中的知识点: 1. **Ferret.Net**:这是一个专为IT专业人士设计的开源类库,它主要用于处理网络套接字通信,提供跨平台的支持。 2. **基于接口**:这意味着Ferret.Net的设计遵循...
"ferret"这个词在英语中指的是雪貂,一种善于挖掘和寻找的小动物。在这里,它可能是象征着库能够深入文本数据中,挖掘出有价值的信息。版本号"0.1.0"表明这是该库的初步版本,可能存在更多的更新和发展空间。 ...
Ferret4J旨在成为Java应用程序的轻量级MVC框架。 它基于以模型为中心的体系结构,并努力减少干扰。 您可以在我的博客中找到更多信息,网址为http://blackship.eu/category/my-projects/jferret/
"pnw-ferret"是一个专门用于政治与战争数据收集和分析的工具,它以其高效的数据处理能力和深度洞察力在IT行业中占据了一席之地。这个工具以“雪貂”为代号,暗示了其在信息搜索和挖掘中的敏捷性和精准性。主要由...
《深入理解MIME检测库:以Ferret为例》 在信息技术领域,MIME(Multipurpose Internet Mail Extensions)是一种标准,用于定义非ASCII字符的数据类型,尤其在电子邮件、Web和其他Internet协议中广泛应用。MIME扩展...
雪貂opencv 用于OpenCV雪貂绑定(require '[ferret-opencv.core :as cv])(def cam (cv/video-capture 0))(let [f (cv/query-capture cam)] (cv/imwrite "image_latest.png" f))样品CMake cmake_minimum_required...