用了一下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
- 浏览 1626
- 评论(2)
- 论坛回复 / 浏览 (2 / 2650)
- 查看更多
相关推荐
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等信箱。终于等到作者把代码和工具都...
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工具来执行Cookie劫持,这是一种常见的攻击手段,用于获取用户的登录凭据,特别是那些存储在Cookie中的会话ID。以下是整个过程的详细解释: 1. **环境准备**: 在这个场景中,我们有两...
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...