搜索引擎
文章平均质量分 79
Java2King
淘宝。。。。数据平台
展开
-
关于本博客的站内搜索问题
一直发现我的博客在CSDN无法站内搜索,其他搜索功能也做的很差。 博客产品没有任何进步。如果有朋友觉得文章太多,想站内搜索的话可以通过google自定义搜索。 点击 本博客站内搜索 即可,用起来很方便。原创 2010-06-02 13:51:00 · 999 阅读 · 0 评论 -
solr中集成中文分词 mmseg4j
mmseg4j 第一个版本就可以方便地与 solr 集成,在 google code 上面有简单的说明,第一版的发布博客也有简单的使用说明:中文分词 mmseg4j。为了更清楚说明在 solr 中使用 mmseg4j 中文分词,还是写篇博客吧。目前有两个版本的 mmseg4j,1.7 版比较耗内存(一个词库目录就要 50M 左右),所以在默认jvm内存大小会抛出 OutOfMemor转载 2010-03-26 16:11:00 · 2467 阅读 · 1 评论 -
三言二拍:Google退出中国
Google正式宣布,Google不想继续对Google.cn的搜索结果进行审查,并将在接下来的几周内与中国政府进行探讨,如何让Google.cn在不进行审查过滤的前提下合法地运营,如果做不到这些,Google将考虑关闭Google.cn,甚至是它的所有中国办公室。对Google来说,这是个艰难的决定。对我来说,这是个痛苦的选择。我的大部分在线生活,依托于Google。我使转载 2010-01-13 13:42:00 · 1310 阅读 · 0 评论 -
文本聚类算法Java实现
蛙蛙推荐:蛙蛙教你文本聚类摘要:文本聚类是搜索引擎和语义web的基本技术,这次本蛙和大家一起学习一下简单的文本聚类算法,可能不能直接用于实际应用中,但对于想学搜索技术的初学者还是有一定入门作用的。这里会用到TF/IDF权重,用余弦夹角计算文本相似度,用方差计算两个数据间欧式距离,用k-means进行数据聚类等数学和统计知识。关于这些概念可以去google,或者参考文本后的参考链接。思路:计转载 2010-01-08 10:13:00 · 12275 阅读 · 4 评论 -
MMAnalyzer极易中文分词组件
支持英文、数字、中文(简体)混合分词 常用的数量和人名的匹配 超过22万词的词库整理 实现正向最大匹配算法 //采用正向最大匹配的中文分词算法,相当于分词粒度等于0 MMAnalyzer analyzer = new MMAnalyzer(); //参数为分词粒度:当字数等于或超过该参数,且能成词,该词就被切分出来 MMAnalyzer analyzer = new MMAnalyzer(2);转载 2010-01-08 09:53:00 · 4784 阅读 · 2 评论 -
浙大一位同学的中文分词算法
1.1.1 最大匹配法分词的缺陷尽管最大匹配法分词是常用的解决的方案,但是无疑它存在很多明显的缺陷,这些缺陷也限制了最大匹配法在大型搜索系统中的使用频率。最大匹配法的问题有以下几点:一、长度限制由于最大匹配法必须首先设定一个匹配词长的初始值,这个长度限制是最大匹配法在效率与词长之间的一种妥协。我们来看一下以下两种情况:(1)词长过短,长词就会被切错。例如当词长被设成5时,也就意味着转载 2010-01-04 20:06:00 · 1695 阅读 · 0 评论 -
Django+python+BeautifulSoup组合的垂直搜索爬虫
使用python+BeautifulSoup完成爬虫抓取特定数据的工作,并使用Django搭建一个管理平台,用来协调抓取工作。因为自己很喜欢Django admin后台,所以这次用这个后台对抓取到的链接进行管理,使我的爬虫可以应对各种后期的需求。比如分时段抓取,定期的对已经抓取的地址重新抓取。数据库是用python自带的sqlite3,所以很方便。 这几天正好在做一个电影推荐系统,需要原创 2010-03-14 15:23:00 · 9892 阅读 · 8 评论 -
中文分词技术比较:单字切分 vs 中文分词
全文信息检索系统中,创建倒排索引时应当使用什么分词方式一直是众说纷纭,毫无定论。 具我所知,已有某某 paper “研究指出”采用二元切分的方式构建索引是“最好的”;也看到过园子里的一位兄弟认为单字切分最准确(sorry,忘记具体出处);当然,将某个基于词典或者共现频率的中文分词组件包装一下加入自己的项目中也是非常流行的做法。 既然存在这么多的看法与做法,难免会让人生出一较高下或者明辨真伪的决原创 2010-03-14 13:52:00 · 5970 阅读 · 2 评论 -
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 评论 -
使用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 · 5115 阅读 · 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 评论 -
浅谈淘宝搜索排序算法【转自淘宝搜索博客】
浅谈淘宝搜索排序算法作者:鬼脚七 前言: 目前网上有很多介绍淘宝搜索排序的文章,大多是淘宝卖家们根据自己经验摸索整理出来的,里面提到的很多办法也很正确。只是搜索排序算法不是固定不变的,几乎每天都在变化,与时俱进。所以想详细的介绍每个排序的细节,其实没有任何意义。 很多卖家抱怨为什么不公开排序算法?排序算法无法公开。不知道有谁知道百度的排序算原创 2010-05-27 18:16:00 · 1971 阅读 · 0 评论 -
如何做好一个垂直搜索引擎
本文先引用几句话:1.“确解用户之意,切返用户之需。”2.“门户网站都想着是怎样省钱,而不是怎样花钱来买技术。”3.“搜索引擎不是人人都能做的领域,进入的门槛比较高。”4.“只是优秀还不够,最好的方式是将一件事情做到极致。”(google十大真理)5.“做搜索引擎需要专注” “对于一项排到第四的业务,门户很难做到专注。”6.“用户无法描述道他要找什么,除非让他看到想找的东西。”7. “所谓楔形,其转载 2010-05-24 22:10:00 · 1412 阅读 · 0 评论 -
介绍一本搜索引擎爬虫方面的好书
这学期去图书馆借书,无意间看带一本书《网络机器人Java编程指南》。看了下感觉如获至宝。市面上将爬虫的书可以说是没有,基本上只有在搜索引擎类的书里有提到,而且只是讲个思想,没有可以用的代码。而《网络机器人Java编程指南》是彻头彻尾讲解web爬虫的书籍,2002年出版的,目前已绝版。此书可说是非常珍贵这是china-pub的链接http://www.china-pub.com/6565 进了作者的博客,下到了源代码,作者一直在更新,所以源代码可以在JDK6.0上正常运行。速度很快。相比如其他几款开源爬虫,本原创 2010-07-07 14:22:00 · 10941 阅读 · 4 评论 -
Google搜索引擎的工作原理
<br /><br />PPCblog.com呈现给我们一幅由Jess Bachman(在WallStats.com工作)精心描绘的示意图,这张流程图展示了每天拥有3亿次点击量的Google搜索按钮背后搜索引擎在那不到1秒的响应时间内所进行的处理。<br />这是我刚付印的最新示意图,这张流程图演示了在你点击Google搜索按钮后,在Google返回查询结果前那一眨眼的功夫里,Google是如何处理你的搜索请求的?这可是搜索巨人Google年赢利额高达200亿美元的杀手级应用,也是Internet首屈一指的转载 2010-07-05 13:19:00 · 1416 阅读 · 0 评论 -
基于ProActive的分布式并行Web Spider的设计与实现
摘要:由于互联网具有海量信息并且快速增长,提高搜索引擎的信息采集器Web Spider的数据采集和更新速度有重要意义。本文利用ProActive网格网络并行分布计算中间件提供的主动对象(Active Object)技术、网络并行计算技术、自动部署机制等设计和实现了一个名为P-Spider的分布式并行Web Spider,实验表明该Web Spider方便管理和部署,并且比多线程Web Spider具有更高的采集速率。关键字:Web Spider,ProActive,并行,分布式0 引 言Web Spider转载 2010-07-02 19:15:00 · 2526 阅读 · 0 评论 -
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 评论 -
详解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 评论 -
Lucene 的 Scoring 评分机制
Lucene 评分体系/机制(lucene scoring)是 Lucene 出名的一核心部分。它对用户来说隐藏了很多复杂的细节,致使用户可以简单地使用 lucene。但个人觉得:如果要根据自己的应用调节评分(或结构排序),十分有必须深入了解 lucene 的评分机制。Lucene scoring 组合使用了 信 息检索的向量空间模型 和 布尔模型 。首先来看下 lucene 的评分公转载 2010-03-28 22:20:00 · 1920 阅读 · 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 评论 -
R树介绍及其发展历程
R-Tree空间索引算法的研究历程和最新进展分析收藏摘要:本文介绍了空间索引的概念、R-Tree数据结构和R-Tree空间索引的算法描述,并从R-Tree索引技术的优缺点对R-Tree的改进结构——变种R-Tree进行了论述。最后,对R-Tree的最新研究进展进行了分析。 关键词:空间索引技术;R-Tree;研究历程;最新进展当前数据搜索的一个关键问题是速度。提高速度的核心技术是空间索转载 2009-12-27 14:06:00 · 1280 阅读 · 0 评论 -
搜索引擎重复网页发现技术分析【网页去重】
中科院软件所 作者:张俊林一. 介绍统计结果表明,近似镜像网页数占总网页数的比例高达全部页面的29%,而完全相同的页面大约占全部页面的22%。这些重复网页有的是没有一点改动的拷贝,有的在内容上稍作修改,比如同一文章的不同版本,一个新一点,一个老一点,有的则仅仅是网页的格式不同(如 HTML, Postscript),文献[Models and Algorithms for Duplicate D转载 2010-02-03 15:06:00 · 2093 阅读 · 0 评论 -
开源网络爬虫程序(spider)一览
spider是搜索引擎的必须模块.spider数据的结果直接影响到搜索引擎的评价指标.第一个spider程序由MIT的Matthew K Gray操刀该程序的目的是为了统计互联网中主机的数目>Spier定义(关于Spider的定义,有广义和狭义两种). 狭义:利用标准的http协议根据超链和web文档检索的方法遍历万维网信息空间的软件程序. 广义:所有能利用http协议检索w转载 2009-09-21 21:58:00 · 1155 阅读 · 0 评论 -
Lucene高亮显示详解
在Lucene的org.apache.lucene.search.highlight包中提供了关于高亮显示检索关键字的工具。使用百度、Google搜索的时候,检索结果显示的时候,在摘要中实现与关键字相同的词条进行高亮显示,百度和Google指定红色高亮显示。有了Lucene提供的高亮显示的工具,可以很方便地实现高亮显示的功能。高亮显示,就是根据用户输入的检索关键字,检索找到该关转载 2009-08-04 16:27:00 · 5889 阅读 · 2 评论 -
Hibernate Search基本配置和使用
<span id="articlecontent" class="wenzhang_con" style="width: 740px;" onmouseup="function onmouseup(){NewHighlight(event)}">Hibernate Search运行的环境如下:1、JDK或JRE 5.0以上2、Hibernate-Search以及相应的依赖包转载 2009-08-04 15:01:00 · 3014 阅读 · 2 评论 -
搜索引擎之中文分词(Chinese Word Segmentation)简介
在《“全文检索(full-text search)”和“搜索引擎(search engine)”的区别和联系》中我们提及到了中文分词,以及《双数组Trie(Double Array Trie)实现原理的一点剖析》中阐述了高效率中文分词的实现。接下来让我们抛开双数组Trie的那些公式,从概念上来了解一下分词技术,因为英文分词相对比较简单,这里主要来了解的是中文分词。英文是以词为单位的转载 2009-08-03 19:04:00 · 1620 阅读 · 0 评论 -
Lucene:基于Java的全文检索引擎简介
转自http://www.chedong.com/tech/lucene.htmlLucene是一个基于Java的全文索引工具包。基于Java的全文索引引擎Lucene简介:关于作者和Lucene的历史 全文检索的实现:Luene全文索引和数据库索引的比较 中文切分词机制简介:基于词库和自动切分词算法的比较 具体的安装和使用简介:系统结构介绍和演转载 2009-08-03 16:34:00 · 683 阅读 · 0 评论 -
Heritrix的Modules界面不能改变选择项的问题
在Eclipse环境中配置好我的Heritrix后,就可以使用Heritrix了。(参见:在Windows平台上配置Heritrix的Eclipse开发环境)。很快我就遇到了第一个问题(实际是两个,但是只能先解决第一个了)。我在新建Job的时候,按照书上说的,先选Jobs,再Withdefauls,再输入名字,然后”Modules”,这时候我发现我的界面和书上说的不一样。书上说这个界面转载 2009-07-30 11:54:00 · 1488 阅读 · 4 评论 -
深入学习Heritrix---解析Frontier(链接工厂)
Frontier是Heritrix最核心的组成部分之一,也是最复杂的组成部分.它主要功能是为处理链接的线程提供URL,并负责链接处理完成后的一些后续调度操作.并且为了提高效率,它在内部使用了Berkeley DB.本节将对它的内部机理进行详细解剖.在Heritrix的官方文档上有一个Frontier的例子,虽然很简单,但是它却解释Frontier实现的基本原理.在这里就不讨论,有兴趣的转载 2009-07-30 16:54:00 · 1202 阅读 · 0 评论 -
Lucene 2.4.0 一些过期方法的解决方案
Lucene 2.4.0 是2008年10月8日发布的版本,许多之前版本中的方法和类被声明为过期(@deprecated),且某些方法和类被声明在3.0引擎中将被删除。以下是常用的几个方法和类,在网上搜索到的替换为新版本的方法。1 IndexWriter 的构造器 IndexWriter writer = new IndexWriter(indexPath, getAnalyzer()原创 2009-07-28 16:05:00 · 1015 阅读 · 0 评论 -
2009年阿里巴巴搜索研发类笔试试题
试卷分三部分1.java2.搜索 C++(这2个为什么要混在一起?)3.公共(都要做) 我做的是B卷、搜索研发类,只记得其中的一部分内容(都是关键字,实在记不全所有的内容了。。。。。) B卷基本上都是选择,只有最后公共题的最后两题不是。1、DOM2、utf-8编码字节大小?3、网络蜘蛛4、分布列(概率中的数学期望)5、搜索查准率和查全率的一个计算题6、索转载 2009-09-22 19:53:00 · 819 阅读 · 0 评论 -
搜索引擎索引压缩技术
建立索引是搜索引擎核心技术之一,建立索引的目的是能够快速的响应用户的查询。搜索引擎最常用的索引数据结构是倒排文档,倒排文档的原理其实相当简单。 我们拿以下三篇文章作为代表来说明倒排文档,文章内容为: D1:“张钰小姐代表了中国广大淫民的根本利益” D2:”宋祖德先生代表了中国八卦文化的前进方向“ D3:“郭敬明代表了中国作家转载 2009-09-23 20:31:00 · 1641 阅读 · 0 评论 -
Apache Solr 剖析
本文是Apache Solr介绍的姊妹篇,我将逐一分析Apache Solr的各个包,力图详细地分析Solr的设计和架构。Apache Solr由12个包组成,如下:org.apache.solr.analysis org.apache.solr.core org.apache.solr.request org.apache.solr.schema org.apache.s转载 2010-01-22 15:22:00 · 1508 阅读 · 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 评论 -
Heritrix的多线程ToeThread和ToePool
想要更有效更快速的抓取网页内容,则必须采用多线程。Heritrix中提供了一个标准的线程池ToePool,它用于管理所有的抓取线程。 ToePool和ToeThread都位于org.archive.crawler.framework包中。前面已经说过ToePool的初始化,是在 CrawlController的initialize()方法中完成的。来看一下ToePool以及ToeThread是如何原创 2009-10-27 21:00:00 · 1139 阅读 · 0 评论 -
基于Bloom-Filter算法的URL过滤器的实现[避免重复抓取]
一、 Bloom-Filter算法简介。Bloom-Filter,即布隆过滤器,1970年由Bloom中提出。它可以用于检索一个元素是否在一个集合中,其优点是空间效率和查询时间都远远超过其他算法,其不足在于Bloom-Filter存在着误判。二、 Bloom-Filter的基本思想。Bloom-Filter算法的核心思想就是利用多个不同的Hash函数来解决“冲突”。计算某元素x是否在一个集合中转载 2009-10-18 14:36:00 · 2706 阅读 · 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 评论 -
如何计算网站的PR值?(PR值的计算公式)
一般说来,PR值越高,反映在在搜索结果中的排名越靠前(重要新越高),当前有很多人通过很多方式来提高自己网站的PR值,除网站内部的优化外,大多数人采用的是外部链接。 如下: PR(A) = (1-d) + d(PR(t1)/C(t1) + ... + PR(tn)/C(tn)) 其中PR(A)表示的是从一个外部链接站点t1上,依据Pagerank?系统给你的网站所增加转载 2009-10-01 22:12:00 · 2900 阅读 · 0 评论 -
Google Hilltop算法
一、Hilltop算法的由来Hilltop算法同PageRank算法同样是搜索引擎结果排序的一项专利。PageRank页面级别系统单纯根据网页上的外部链接站点的数量,质量及页面等级决定该网页的“重要性”,但却忽略了链接页面对查询条件的主题相关性,导致一些网页即使主题与该查询条件并无关系,但也由于偶而提及该查询关键词而在搜索结果中得到很好的排名。从而影响了搜索结果的相关性与精准性。 早在20转载 2009-09-30 21:26:00 · 1246 阅读 · 0 评论 -
百度的分词算法
这篇文章主要参考中科院软件所张俊林先生在2005年11月写作的《搜索引擎设计实用教程》的分词部分,提供的查询关键词范例也源于该文。搜索引擎本身并不提供信息,因此用户需要在搜索引擎的搜索框键入关键词进行查询以获取信息,然而由于中文信息检索存在的自身特点,比如中文语词之间没有空格,中文的语法分析和语义理解与英语相比更为困难。因此搜索引擎在信息索引前都要对用户所查询的语词进行切分。并非任何一个查转载 2009-09-30 21:20:00 · 1235 阅读 · 0 评论