Lucene/Nutch/Hadoop/Solr
文章平均质量分 80
Java2King
淘宝。。。。数据平台
展开
-
Lucene高亮显示详解
在Lucene的org.apache.lucene.search.highlight包中提供了关于高亮显示检索关键字的工具。使用百度、Google搜索的时候,检索结果显示的时候,在摘要中实现与关键字相同的词条进行高亮显示,百度和Google指定红色高亮显示。有了Lucene提供的高亮显示的工具,可以很方便地实现高亮显示的功能。高亮显示,就是根据用户输入的检索关键字,检索找到该关转载 2009-08-04 16:27:00 · 5889 阅读 · 2 评论 -
Lucene 的 Scoring 评分机制
Lucene 评分体系/机制(lucene scoring)是 Lucene 出名的一核心部分。它对用户来说隐藏了很多复杂的细节,致使用户可以简单地使用 lucene。但个人觉得:如果要根据自己的应用调节评分(或结构排序),十分有必须深入了解 lucene 的评分机制。Lucene scoring 组合使用了 信 息检索的向量空间模型 和 布尔模型 。首先来看下 lucene 的评分公转载 2010-03-28 22:20:00 · 1920 阅读 · 0 评论 -
详解Nutch插件系统
nutch系统架构的一个亮点就是插件,借鉴这个架构我们可以设计出自己的灵活的系统架构,下面就来解析Nutch的插件系统是怎么回事。 关于nutch,在这里了解:http://lucene.apache.org/nutch/,目前最新版本是1.0: 23 March 2009 - Apache Nutch 1.0 Released Nutch is open sour转载 2010-04-01 12:50:00 · 1297 阅读 · 0 评论 -
Nutch cached乱码问题解决办法
在cached.jsp页面中,原来用于取得字符集的代码是通过取得ParseData的ContentMeta 来得: Metadata metaData = bean.getParseData(details).getContentMeta(); String content = null; String contentType = (String) metaData.get(Metadat原创 2010-04-15 16:00:00 · 1095 阅读 · 0 评论 -
Nutch中添加特定域(field)搜索方法
1. WEB-INF/classes/custom-fields.xml里添加: title yes yes yes 2.0 false content yes no yes 1.0 false 要和自己建索引时候的设置一致 2. plugin/query-custom/plugin.xml里修改:原创 2010-04-16 13:57:00 · 1571 阅读 · 0 评论 -
Nutch Crawler工作流程及文件格式详细分析
Nutch 的Crawler和Searcher两部分被尽是分开,其主要目的是为了使两个部分可以布地配置在硬件平台上,例如Crawler和Searcher分别被放置在两个主机上,这样可以极大的提高灵活性和性能。一、总体介绍:1、先注入种子urls到crawldb2、循环: * generate 从crawldb中生成一个url的子集用于抓取 * fetch 抓取上一小的url生成一个转载 2010-04-20 22:09:00 · 1330 阅读 · 0 评论 -
Nutch/Lucene的存取机制与结构分析(收藏)
需注明出处,未经作者同意,不得用于任何形式的商业活动主题:解决nutch的segmens的拆分与nutch crawl的重载(重新构建)问题主要内容一、Lucene的索引机制与索引文件结构二、Nutch的爬虫分析与文件结构分析三、Nutch segments的拆分索引实现方案一、Lucene的索引机制与索引文件结构1、Lucene的索引机制2、Lucene文件格式_0.f0,_原创 2010-04-20 22:44:00 · 1946 阅读 · 9 评论 -
CachingWrapperFilter实现Lucene的二次搜索
<br /> 利用lucene的Filter,具体可以查看lucene的api中的org.apache.lucene.search.CachingWrapperFilter,它可以缓存上次的搜索结果,从而实现在结果中的搜索。<br /><br />测试实例:<br />import java.io.IOException;import org.apache.lucene.analysis.SimpleAnalyzer;import org.apache.lucene.document.Documen转载 2010-06-28 10:12:00 · 3496 阅读 · 0 评论 -
Solr学习笔记
1、solrserver的获取1.1CommonsHttpSolrServerCommonsHttpSolrServer 使用HTTPClient 和solr服务器进行通信。Java代码String url = “http://localhost:8983/solr”;SolrServer server = new CommonsHttpSolrServer( url );Setting XMLResponseParsersorlr J 目前使用二进制的格式作为默认的格式。对于solr1.2的用户通过显示的转载 2010-06-23 21:18:00 · 4428 阅读 · 0 评论 -
Nutch的命令详解
Nutch采用了一种命令的方式进行工作,其命令可以是对局域网方式的单一命令也可以是对整个Web进行爬取的分步命令。主要的命令如下:1. CrawlCrawl是“org.apache.nutch.crawl.Crawl”的别称,它是一个完整的爬取和索引过程命令。使用方法:Shell代码$ bin/nutch crawl [-dir d] [-threads n] [-depth i] [-t原创 2010-03-28 12:40:00 · 1392 阅读 · 0 评论 -
使用Solr快速实现Django的全文搜索[转]
使用Solr快速实现Django的全文搜索。http://fzuslideblog.appspot.com/2010/03/25/django_solr_search.html原文地址Django本身并没有提供全文搜索的功能,而自己给Django添加全文搜索的功能选择也有很多,可以用Sphinx,Lucene,Xapian等等来做。这里我们选用基于Lucene的全文搜索服务器Solr来快原创 2010-03-27 13:22:00 · 5114 阅读 · 0 评论 -
基于Lucene的最流行的分词法
核心提示:1. 基本介绍:paoding :Lucene中文分词“庖丁解牛” Paoding Analysisimdict :imdict智能词典所采用的智能中文分词程序mmseg4j : 用 Chih-Hao Tsai 的 MMSeg 算法 实现的中文分词器ik :采用了特有的“正向迭代最细粒度切分算法“,... 1. 基本介绍:paoding :Lucene中文分词“庖丁解牛”转载 2009-10-15 22:09:00 · 1129 阅读 · 0 评论 -
Apache Solr 介绍
导言说起Apache Lucene,可以说无人不知,无人不晓,但是说道Apache Solr,恐怕知道的不多。看看Apache Solr的说明:Solr是一个基于Lucene java库的企业级搜索服务器,包含XML/HTTP,JSON API, 高亮查询结果,faceted search(不知道该如何翻译,片段式搜索),缓存,复制还有一个WEB管理界面。Solr运行在Serv转载 2010-01-22 15:14:00 · 1566 阅读 · 0 评论 -
Lucene倒排索引原理
Lucene是一个高性能的java全文检索工具包,它使用的是倒排文件索引结构。该结构及相应的生成算法如下:0)设有两篇文章1和2文章1的内容为:Tom lives in Guangzhou,I live in Guangzhou too.文章2的内容为:He once lived in Shanghai.1)由于lucene是基于关键词索引和查询的,首先我们要取得这两篇文章的关键词,通常我们需要如转载 2009-12-29 11:55:00 · 806 阅读 · 0 评论 -
Lucene与搜索引擎技术(index包详解)
Lucene索引中有几个最基础的概念,索引(index),文档(document),域(field),和项(或者译为语词term) 其中Index为Document的序列 Document为Field的序列 Field为Term的序列 Term就是一个子串 存在于不同的Field中的同一个子串被认为是不同的Term.因此Term实际上是转载 2009-12-29 11:59:00 · 1593 阅读 · 0 评论 -
浙大一位同学的中文分词算法
1.1.1 最大匹配法分词的缺陷尽管最大匹配法分词是常用的解决的方案,但是无疑它存在很多明显的缺陷,这些缺陷也限制了最大匹配法在大型搜索系统中的使用频率。最大匹配法的问题有以下几点:一、长度限制由于最大匹配法必须首先设定一个匹配词长的初始值,这个长度限制是最大匹配法在效率与词长之间的一种妥协。我们来看一下以下两种情况:(1)词长过短,长词就会被切错。例如当词长被设成5时,也就意味着转载 2010-01-04 20:06:00 · 1695 阅读 · 0 评论 -
MMAnalyzer极易中文分词组件
支持英文、数字、中文(简体)混合分词 常用的数量和人名的匹配 超过22万词的词库整理 实现正向最大匹配算法 //采用正向最大匹配的中文分词算法,相当于分词粒度等于0 MMAnalyzer analyzer = new MMAnalyzer(); //参数为分词粒度:当字数等于或超过该参数,且能成词,该词就被切分出来 MMAnalyzer analyzer = new MMAnalyzer(2);转载 2010-01-08 09:53:00 · 4784 阅读 · 2 评论 -
Lucene的多线程访问原则和同步,锁机制
本文介绍lucene多线程环境下的使用原则和commit.lock与write.lock实现的锁机制。设计之初就是服务于多线程环境,大多数情况下索引会被不至一个线程访问。索引时一个关键资源。在对这样的资源进行访问时,不可避免地会出现同步访问的问题。因此需要有很好的策略来处理这些并发访问,以保证资源的合理使用。对索引的非法访问可能导致索引数据异常,进而毁坏重要的数据,导致整个系统的失败。原创 2010-03-24 19:41:00 · 2016 阅读 · 0 评论 -
solr中集成中文分词 mmseg4j
mmseg4j 第一个版本就可以方便地与 solr 集成,在 google code 上面有简单的说明,第一版的发布博客也有简单的使用说明:中文分词 mmseg4j。为了更清楚说明在 solr 中使用 mmseg4j 中文分词,还是写篇博客吧。目前有两个版本的 mmseg4j,1.7 版比较耗内存(一个词库目录就要 50M 左右),所以在默认jvm内存大小会抛出 OutOfMemor转载 2010-03-26 16:11:00 · 2467 阅读 · 1 评论 -
Nutch搜索的servlet实现
<br />nutch自带的搜索页面嵌入在jsp中,不好用。<br />自己重新写成servlet,用来返回搜索结果。去除了很多不需要的功能<br /> <br />package cn.net.nit.jpCourse.search.servlet;import java.io.IOException;import javax.servlet.RequestDispatcher;import javax.servlet.ServletConfig;import javax.servlet.原创 2010-06-22 19:37:00 · 1972 阅读 · 2 评论