搜索引擎的开发应用
文章平均质量分 78
longgangbai
这个作者很懒,什么都没留下…
展开
-
搜索引擎的应用Luence的开发应用
关于 lucene2.0 的创建、检索和删除功能的完整实现 lucene2.2.0 下载地址: http://apache.mirror.phpchina.com/lucene/java/lucene-2.2.0.zip最近要做一个站内的全文检索功能,主要是针对 clob 字段的,于是去网上找了点 lucene 的资料,现在新版本的是 2.0.0 ,网上的例子多是 1.4.3 的,有些方法已经废弃...2009-03-17 15:16:39 · 103 阅读 · 0 评论 -
揭开神秘面纱,搜索引擎原理浅析
在浩如烟海的Internet上,特别是其上的Web(World Wide Web万维网)上,不会搜索,就不会上网。网虫朋友们,你了解搜索引擎吗?它们是怎么工作的?你都使用哪些搜索引擎?今天我就和大家聊聊搜索引擎的话题。 一、搜索引擎的分类 获得网站网页资料,能够建立数据库并提供查询的系统,我们都可以把它叫做搜索引擎。按照工作原理的不同,可以把它们分为两个基本类别:全文搜索引擎(FullText...2009-03-17 16:10:56 · 109 阅读 · 0 评论 -
luence学习的指南文档
搜索引擎学习总结(实战和使用场合) 备注以下代码使用的环境为JDK1.5 ,luence 1.4 1. 代码的解析() 使用场合:创建索引的信息,以便于搜索引擎在适当的时候使用。 /** * 使用递归索引特定的ja2009-03-17 16:54:08 · 90 阅读 · 0 评论 -
luence学习的指南文档
2.代码使用场合:在搜索引擎检索索引目录的中的信息 /** * 检索索引文件内容中是否包含查询的字词信息 * @param indexDir 索引的目录 * @param search 查询字词信息 * @throws Exception */ @SuppressWarning...2009-03-17 16:56:32 · 90 阅读 · 0 评论 -
luence学习的指南文档(三)
3. 使用场合:多个搜索引擎查询的数据结果的合并信息操作:添加索引:删除索引 恢复索引 备注:使用IndexReader对象删除文件对象时,它的并非实质上删除,仅仅时设置一个删除的标识,直到IndexReader调用close方法之后才真正删除它们。删除可以根据特定项和索引删除,在删除之后最好使用IndexWriter其进行优化设置.(注意Luence中并没有专门update的方法...2009-03-17 16:58:25 · 111 阅读 · 0 评论 -
luence学习的指南文档(五)
6.搜索引擎的性能考虑信息: 索引数字:针对数字的检索必须选择支持数字的分析处理器(WhitespaceAnalyzer和StandardAnalyzer)但是SimpleAnalyzer和StopAnalyzer不知此数字分析;针对数字一般采用 Field.Keyword被检索。在索引中添加它们的原始之前,Luence对域对象使用用字典顺序查找的。类似英语单词在字典中...2009-03-17 17:00:56 · 123 阅读 · 0 评论 -
搜索引擎技术原理
一、搜索引擎的分类 获得网站网页资料,能够建立数据库并提供查询的系统,我们都可以把它叫做搜索引擎。按照工作原理的不同,可以把它们分为两个基本类别:全文搜索引擎(FullText Search Engine)和分类目录Directory)。 全文搜索引擎的数据库是依靠一个叫“网络机器人(Spider)”或叫“网络蜘蛛(crawlers)”的软件,通过网络上的各种链接自动获取大量网页信息内容,并按以...2009-09-25 13:37:33 · 141 阅读 · 0 评论 -
Web搜索引擎技术
一、Web搜索引擎技术综述二、Google技术三、百度技术四、结束语 搜索引擎(search engine)是指根据一定的策略、运用特定的计算机程序搜集互联网上的信息,在对信息进行组织和处理后,为用户提供检索服务的系统。一、 Web搜索引擎技术综述(一) 、引子随着网络技术的应用与发展,互连网已经成为信息的重要来源地。搜索引擎以一定的策略在互联网中搜集、发现信息,对...2009-09-25 13:38:16 · 2643 阅读 · 0 评论 -
Spring ,JPA,Compass使用注解开发的博客站内搜索
当一个网站内部或个人博客搜索,设计思路:在发表博客和删除博客,修改博客是在保存的博客信息的同时,更新博客的索引 库,每一个用户一个特定的目录下一个特定的目录存储当前博主的索引信息,在搜索个人博客的信息或站内博客信息时使用.同时索引库必须在一定時間间隔内更新.保存索引库实时性. 由于在项目中保存博客對象是同时建立相应的索引所以添加一层为装饰层Facade层,便于封装业务逻辑....原创 2009-10-10 12:54:21 · 97 阅读 · 0 评论 -
Compass 實用中扩展應用
1 Compass中的操作通过CompassSession我们可以进行save,delete, get,load。假如我们有两个domain Object,Author 和 Book,假如我们想要query Book的话要怎样做呢? 我们需要使用alias(这个属性定义在cmp文件中),通过CompassQueryBuilder去构造CompassQuery, CompassQueryBuild...2009-10-10 14:12:36 · 124 阅读 · 0 评论 -
compass的开发應用JPA+Compass整合
查询结果的高亮显示: 采用的是JPA的注解方式, 首先看实体类:User.java package com.compass.model; import org.compass.annotations.Index;import org.compass.annotations.Searchable;import org.compass.annotations.SearchableId;i...2009-10-10 17:21:16 · 145 阅读 · 0 评论 -
搜索引擎蜘蛛工作原理
网站能在搜索引擎被搜到,归功于搜索引擎蜘蛛抓取的功劳,权重高,更新快的网站,搜索引擎蜘蛛会经常爬行,抓取网站最新数据,经过搜索引擎数据整理后,在搜索引擎上就能搜索到网站的网页,为了更好的SEO优化网站,了解搜索引擎蜘蛛爬行规则也是相当重要的,怎么才能知道搜索引擎蜘蛛在爬行网站时间、爬行网页、爬行反映呢,就要查看网站iis日志文件, iis默认的日志文件在C:\WINDOWS\system32\Lo...原创 2009-05-02 07:46:39 · 119 阅读 · 0 评论 -
搜索引擎基本工作原理
搜索引擎基本工作原理 了解搜索引擎的工作原理对我们日常搜索应用和网站提交推广都会有很大帮助。 ........................................................................................ ■ 全文搜索引擎 在搜索引擎分类部分我们提到过全文搜索引擎从网站提取信息建立网页数据库的概...原创 2009-05-02 07:48:14 · 104 阅读 · 0 评论 -
用 Lucene 加速 Web 搜索应用程序的开发
2006 年 9 月 06 日 Lucene 是基于 Java 的全文信息检索包,它目前是 Apache Jakarta 家族下面的一个开源项目。在这篇文章中,我们首先来看如何利用 Lucene 实现高级搜索功能,然后学习如何利用 Lucene 来创建一个健壮的 Web 搜索应用程序。 <!--START RESERVED FOR FUTURE USE INCLUDE FILES--&g...原创 2009-05-02 09:17:23 · 86 阅读 · 0 评论 -
用 Lucene 加速 Web 搜索应用程序的开发
2006 年 9 月 06 日 Lucene 是基于 Java 的全文信息检索包,它目前是 Apache Jakarta 家族下面的一个开源项目。在这篇文章中,我们首先来看如何利用 Lucene 实现高级搜索功能,然后学习如何利用 Lucene 来创建一个健壮的 Web 搜索应用程序。<!--START RESERVED FOR FUTURE USE INCLUDE FILES-->...原创 2009-05-02 09:18:20 · 92 阅读 · 0 评论 -
Lucene全文搜索框架
1 lucene简介 1.1 什么是lucene Lucene是一个全文搜索框架,而不是应用产品。因此它并不像www.baidu.com 或者google Desktop那么拿来就能用,它只是提供了一种工具让你能实现这些产品。 1.2 lucene能做什么 要回答这个问题,先要了解lucene的本质。实际上lucene的功能很单一,说到底,就是你给它若干个字符串,然后它为你提供一个全文搜索服务...原创 2009-11-09 17:16:17 · 76 阅读 · 0 评论 -
lucene全文检索应用示例及代码简析
Lucene是apache软件基金会 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包及架构,提供了完整的查询引擎和索引引擎,实现了一些通用的分词算法,预留很多词法分析器接口。本文以myrss.easyjf.com网站系统中使用Lucene实现全文检索的代码为例,简单演示Lucene在实际项目中的应用。 使用Lucene实现全文检索,主要有下面三个步骤: 1、建立索引...原创 2009-03-17 16:02:45 · 103 阅读 · 0 评论 -
关于lucene的学习笔记liui :转关于luncene 内层的研究
现在已经不用去研究那些代码,但还是分享出来给大家以帮助。谢谢1. 从Index开始无论哪种搜索引擎,都会需要自建一个index,所有的搜词准确率及快速性很大程度上取决于这类的问题。因此在建索引文件的时候,我们首先要弄清楚lucene建索引的接口及各类参数。Field是lucene的重要组成部分,其引出好些接口Filed InterfName,stringstoreindextokenStoreTe...原创 2009-03-17 15:59:59 · 87 阅读 · 0 评论 -
关于lucene的笔记
下面我将以知识点的形式, 列出来. 以笔记的形式连载. 也方便大家一起学习. 每一个点, 我都会写一个知识点. 1, 2005年的时候, 听说了lucene. 是一个开源的搜索引擎开发包. 而不是一个搜索引擎,请切记. 2, 如果开始学习它, 就需要至少知道,它所包含的包. 目前lucene已经到了2.2版本. 当然你需要时刻关注他的最新版本. 目前包: lucene-core-2.2.0.jar...2009-03-17 15:29:21 · 109 阅读 · 0 评论 -
搜索引擎 luence的使用和优化
无论是不是reopen,optimize都会耗用更多的space来存储临时文件.但这些都是临时文件,在动作结束后会被释放掉.所以如果硬盘空间足够,这些多余的耗用应该不是大问题。 但我的index目录总共有3G(我把旧的document删除了)。不过每次optimize一样要花费很长时间。我不知道应该如何重新设置document的id.我的lucene version是2.0的。 lucene的op...2009-03-17 15:34:24 · 202 阅读 · 0 评论 -
Hadoop分布式文件系统:架构和设计要点
Hadoop分布式文件系统:架构和设计要点原文:http://hadoop.apache.org/core/docs/current/hdfs_design.html一、前提和设计目标1、硬件错误是常态,而非异常情况,HDFS可能是有成百上千的server组成,任何一个组件都有可能一直失效,因此错误检测和快速、自动的恢复是HDFS的核心架构目标。2、跑在HDFS上的应用与一般的应用不同,它们主要是...原创 2009-03-17 15:38:40 · 72 阅读 · 0 评论 -
Hadoop学习笔记一 简要介绍
这里先大致介绍一下Hadoop. 本文大部分内容都是从官网Hadoop上来的。其中有一篇介绍HDFS的pdf文档,里面对Hadoop介绍的比较全面了。我的这一个系列的Hadoop学习笔记也是从这里一步一步进行下来的,同时又参考了网上的很多文章,对学习Hadoop中遇到的问题进行了归纳总结。 言归正传,先说一下Hadoop的来龙去脉。谈到Hadoop就不得不提到Lucene和Nutch。...原创 2009-03-17 15:40:03 · 83 阅读 · 0 评论 -
Hadoop学习笔记二 安装部署
本文主要是以安装和使用hadoop-0.12.0为例,指出在部署Hadoop的时候容易遇到的问题以及如何解决。 硬件环境共有3台机器,均使用的FC5系统,Java使用的是jdk1.6.0。IP配置如下:dbrg-1:202.197.18.72dbrg-2:202.197.18.73dbrg-3:202.197.18.74 这里有一点需要强调的就是,务必要确保每台机器的主机名和IP地址之间能正确解析...原创 2009-03-17 15:41:40 · 79 阅读 · 0 评论 -
lucene学习笔记二. 1.9版本升级的问题.
lucene学习笔记二. 1.9版本升级的问题. Lucene 1.9 改进特性列表1.9 RC1 注:lucene2.0发布版本并不是100%的和1.4.3版兼容。也就是说在你用2.0版本的Lucene开发包替换原来的1.4.3版本时,应该让你的应用程序首先和1.9的兼容。 使用前提: 1. 编译和使用Lucene需要 Java1.4 或以上版本。 Lucene 1.9 在运行时的变化:...原创 2009-03-17 15:43:00 · 146 阅读 · 0 评论 -
lucene学习笔记三 各种query
1, 有时对于一个Document来说,有一些Field会被频繁地操作,而另一些Field则不会。这时可以将频繁操作的Field和其他Field分开存放,而在搜索时同时检索这两部分Field而提取出一个完整的Document。 这要求两个索引包含的Document的数量必须相同。 在创建索引的时候,可以同时创建多个IndexWriter,将一个Document根据需要拆分成多个包含部分Field的...2009-03-17 15:43:50 · 87 阅读 · 0 评论 -
lucene学习笔记四
1, 几种span的querySpanTermQuery:检索效果完全同TermQuery,但内部会记录一些位置信息,供SpanQuery的其它API使用,是其它属于SpanQuery的Query的基础。 SpanFirstQuery:查找方式为从Field的内容起始位置开始,在一个固定的宽度内查找所指定的词条。 SpanNearQuery:功能类似PharaseQuery。SpanNearQue...原创 2009-03-17 15:44:24 · 88 阅读 · 0 评论 -
关于lucene的学习笔记
这是很久以前做lucene 时的总结,现在已经不用去研究那些代码,但还是分享出来给大家以帮助。谢谢1. 从Index开始无论哪种搜索引擎,都会需要自建一个index,所有的搜词准确率及快速性很大程度上取决于这类的问题。因此在建索引文件的时候,我们首先要弄清楚lucene建索引的接口及各类参数。Field是lucene的重要组成部分,其引出好些接口Filed InterfName,stringsto...原创 2009-03-17 15:45:26 · 104 阅读 · 0 评论 -
lucene学习笔记九, 关于结果分页
一 ,Hits对象是搜索结果的集合 主要有下面几个方法 [list=1] length() ,这个方法记录有多少条结果返回(lazy loading) doc(n) 返回第n个记录 id(in) 返回第n个记录的Document ID score(n) 第n个记录的相关度(积分) 由于搜索的结果一般比较大,从性能上考虑,Hits对象并不会真正把所有的结果全部取回,默认情况下是保留前100个记...2009-03-17 15:47:43 · 129 阅读 · 0 评论 -
lucene笔记十 :关于高亮显示和显示部分原始文件的原则
高亮显示查询项有一个能使搜索引擎变得更友好的办法,那就是向你的用户提供一些搜索命中结果的上下文,而且更为重要的是这样做是非常有用 的。最好的例子就是本系统用户在查找天气Web服务时的搜索结果。如下图1所示,每个命中结果包括了匹配文档的三行左右的内容,并且将查询项高亮显示出 来。通常,我们只需要对搜索项 上下文内容浏览一眼就足以 了解该结果是否值得我们深入地进行研究。图4.1 高亮显示查询项High...原创 2009-03-17 15:48:44 · 235 阅读 · 0 评论 -
lucene的性能数据_并发
1, 环境:windows 2003 + tomcat6.0.14 + lucene 2.2.0配置: Intel Pentium D CPU 3.00GHz,3.00GHz,992MB内存索引数据量:200万loadrunner 200并发测试,每秒钟请求一次.平均hit/sec = 187.54平均响应时间小于0.5秒cpu 100%,内存:830MBIndexReader还没有采用单...原创 2009-03-17 15:51:25 · 159 阅读 · 0 评论 -
限制lucene的遍历结果.
Lucene Hack之通过缩小搜索结果集来提升性能 作者:caocao(网络隐士),http://www.caocao.name,http://www.caocao.mobi 转载请注明来源:http://www.iteye.com/topic/78884 一、缘起 Lucene在索引文件上G之后的搜索性能下降很严重,随便跑个搜索就要上0.x秒。如果是单线程搜索那么性能尚可,总可以在0.x秒返回...原创 2009-03-17 15:54:14 · 226 阅读 · 0 评论 -
lucene 自定义SORT
如欲转载,请注明作者:caocao,来源http://caocao.iteye.com/。Lucene的搜索结果默认按相关度排序,这个相关度排序是基于内部的Score和DocID,Score又基于关键词的内部评分和做索引时的boost。默认Score高的排前面,如果Score一样,再按索引顺序,先索引的排前面。那么有人问了,如果我要先索引的排后面怎么办呢?隐士研究了源码后发现这是相当简单的事情。以...原创 2009-03-17 15:54:58 · 113 阅读 · 0 评论 -
lucene大数据量的动态更新问题解决方式. 用内存
问题: 目前索引里面已经有1000多万的数据了,现在需要每几分钟就增量得添加新的内容到索引中。 但是,我发现新加入索引后,整个索引结构都要重新调整。非常耗时(长达半个小时)。 不知道大家有没有什么比较好的办法,加快这个过程? 回答: 我觉得用lucene做,一个原则索引里面尽量少存储,索引文件小了,optimize要移动的数据块也小。 还有Lucene实在不适合做实时,有一个办法,将新索引建在内存...原创 2009-03-17 15:55:31 · 252 阅读 · 0 评论 -
搜索计算的规则
面向Web应用的网页预处理2003年12月3日(讲稿由张志刚协助准备)搜索引擎的三个组成部分收集,得到"原始网页文件"服务,需要的是"网页的表示"整理,中间的转换及其相关任务天网流程"整理"阶段的目标便于服务的实现:效果,效率效果 – 服务对用户的效果例如搜索引擎,就要追求"相关性"之类效率 – 不仅是用户感到的服务的效率,还有生成服务系统的效率"不太优化"的流水线 单服务目标还是多服务目标 收集...原创 2009-05-15 10:28:45 · 216 阅读 · 0 评论