lucene全文检索汇总

合集下载

基于Lucene的异构数据库全文检索技术

基于Lucene的异构数据库全文检索技术

基于Lucene的异构数据库全文检索技术王亮;苏云【摘要】Recently the army has accumulated massive operationaldata,equipment performance,naval battlefield environment etc.These huge data is with various formats,and stored in different types of database.How to retrieve the target information from these data rapidly and exactly is a very important work.Lucene is a Java-based open source library of full text search,and can be easily used to customize a search engine which can meet the specific needs of users.In this paper,we develop a configurable full-text search engine which can support different types of database.%当前,我军积累了部队情况、装备性能、海战场环境等海量的作战数据.这些数据数量巨大、格式多样,且存储在不同类型的数据库中.如何快速准确地从这些数据中检索出目标信息,成为一项非常重要的工作.Lueene是一个基于Java的开源的全文检索库,利用它可以方便地定制出符合用户特定需求的搜索引擎.使用Lueene可研制出一种可配置的、支持不同类型数据库的全文搜索引擎.【期刊名称】《指挥控制与仿真》【年(卷),期】2017(039)002【总页数】5页(P141-144,148)【关键词】Lucene;异构数据库;全文检索;搜索引擎;索引【作者】王亮;苏云【作者单位】海军指挥所,北京100841;江苏自动化研究所,江苏连云港222061【正文语种】中文【中图分类】TP391.3;E91随着现代互联网的快速发展,网络上存储的信息量越来越大且呈指数增长。

Lucene中文全文检索精品PPT课件

Lucene中文全文检索精品PPT课件
1、.Analysis:语言分析器,主要用于的切词, 支持中文主要是扩展此类。
2、.Document:索引存储时的文档结构管理, 类似于关系型数据库的表结构。
3、.Index:索引管理,包括索引建立、删除等 4、.QueryParser:查询分析器,实现查询关键词
Lucene(.net)全文检索
简介
Lucene不是一个完整的全文索引应用,而是一个用 Java写的全文索引引擎工具包,它可以方便的嵌入到 各种应用中实现针对应用的全文索引/检索功能。
是.net版
Lucene可以对任何的数据做索引和搜索. Lucene不管 数据源是什么格式,只要它能被转化为文字的形式,就可 以被Lucene所分析利用.也就是说不管是MS word, Html ,pdf还是其他什么形式的文件只要你可以从中抽 取出文字形式的内容就可以被Lucene所用.你就可以用 Lucene对它们进行索引以及搜索.
由此可以看出模糊查询相对数据库的精确查询是一个非 常不确定的问题,这也是大部分数据库对全文检索支持 有限的原因。Lucene最核心的特征是通过特殊的索引结 构实现了传统数据库不擅长的全文索引机制,并提供了 扩展接口,以方便针对不同应用的定制。
Lucene全文检索 VS. 数据库模糊查询
索引
匹配效果 匹配度 结果输出 可定制性
全文检索 ≠ like "%keyword%"
数据库索引不是为全文索引设计的,因此,使用like “%keyword%”时,数据库索引不起作用,使用like查询, 搜索过程是一个遍历过程,所以对于含有模糊查询的数据 库服务来说, like对性能的危害极大。如果对多个关键词 进行模糊匹配:like"%keyword1%" and like "%keyword2%" ...其效率也就可想而知了。

Lucne检索数据库支持中文检索

Lucne检索数据库支持中文检索

全文分两部分:一:Lucene简介Lucene版本:3.0.2全文检索大体分两个部分:索引创建(Indexing)和搜索索引(Search)1. 索引过程:1) 有一系列被索引文件(此处所指即数据库数据)2) 被索引文件经过语法分析和语言处理形成一系列词(Term)。

3) 经过索引创建形成词典和反向索引表。

4) 通过索引存储将索引写入硬盘。

2. 搜索过程:a) 用户输入查询语句。

b) 对查询语句经过语法分析和语言分析得到一系列词(Term)。

c) 通过语法分析得到一个查询树。

d) 通过索引存储将索引读入到内存。

e) 利用查询树搜索索引,从而得到每个词(Term)的文档链表,对文档链表进行交,差,并得到结果文档。

f) 将搜索到的结果文档对查询的相关性进行排序。

g) 返回查询结果给用户。

• 索引过程如下:◦创建一个IndexWriter用来写索引文件,它有几个参数,INDEX_DIR就是索引文件所存放的位置,Analyzer便是用来对文档进行词法分析和语言处理的。

◦创建一个Document代表我们要索引的文档。

◦将不同的Field加入到文档中。

我们知道,一篇文档有多种信息,如题目,作者,修改时间,内容等。

不同类型的信息用不同的Field来表示,在本例子中,一共有两类信息进行了索引,一个是文件路径,一个是文件内容。

其中FileReader的SRC_FILE就表示要索引的源文件。

◦IndexWriter调用函数addDocument将索引写到索引文件夹中。

• 搜索过程如下:◦IndexReader将磁盘上的索引信息读入到内存,INDEX_DIR就是索引文件存放的位置。

◦创建IndexSearcher准备进行搜索。

◦创建Analyer用来对查询语句进行词法分析和语言处理。

◦创建QueryParser用来对查询语句进行语法分析。

◦QueryParser调用parser进行语法分析,形成查询语法树,放到Query中。

lucene全文检索精华

lucene全文检索精华

lucene全文检索精华lucene全文检索1 概念全文检索(Full-Text Retrieval)是计算机程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置。

当用户查询时根据建立的索引查找,类似于通过字典的检索字表查字的过程.1.1 lucene全文检索的特性全文检索(Full-Text Retrieval)是指以文本作为检索对象,找出含有指定词汇的文本。

全面、准确和快速是衡量全文检索系统的关键指标。

关于全文检索的特性,我们要知道:1,只处理文本。

2,不处理语义。

3,搜索时英文不区分大小写。

4,结果列表有相关度排序。

下图就是显示“1+1等于几”这个搜索要求对应的结果。

可以看到,是没有“2”这个结果的,结果页面都是出现了这些词的网页 .1.2 全文检索的应用场景我们使用Lucene,主要是做站内搜索,即对一个系统内的资源进行搜索。

如BBS、BLOG中的文章搜索,网上商店中的商品搜索等。

使用Lucene的项目有Eclipse、Jira等。

一般不做互联网中资源的搜索,因为不易获取与管理海量资源(专业搜索方向的公司除外)。

2 第一个lunece程序2.1 准备lucene的开发环境搭建Lucene的开发环境只需要加入Lucene的Jar包,要加入的jar包至少要有: ? lucene-core-4.4.0.jar(核心包)? analysis\\common\\lucene-analyzers-common-4.4.0.jar(分词器) ?highlighter\\lucene-highlighter-4.4.0.jar(高亮) ? \\memory\\lucene-memory-4.4.0.jar(高亮)? queryparser\\ lucene-queryparser-4.4.0.jar (查询解析)2.2 实现建立索引功能(IndexWriter)/*** 使用indexWriter对数据库建立索引.. * @throws IOException */ @Test public void createIndex() throws IOException{//索引存放的位置...Directory directory=FSDirectory.open(new File(\));//lucene当前使用的匹配版本Version matchVersion=Version.LUCENE_44;//分词器,对文本进行分词,抽象类,由子类实现不同的分词方式Analyzer analyzer=new StandardAnalyzer(matchVersion); //索引写入的配置 IndexWriterConfig indexWriterConfig=new//构建用于操作索引的类IndexWriter indexWriter=new IndexWriter(directory,IndexWriterConfig(matchVersion, analyzer);indexWriterConfig);//索引库里面的要遵守一定的结构,(索引结构...) 在索引库当中保存的都是documentDocument doc=new Document(); //索引document里面页游很多的字段... /** * 1:字段的名称 * 2:字段对应的值* 3:该字段在索引库中是否存储 */IndexableField id=new IntField(\, 1, Store.YES);//StringField不会根据分词器去拆分,只有后面的String全包括才能被搜索到IndexableField title=new StringField(\, \培训,传智播客//TextField如果按照默认分词器去拆分,中文则是按照单个中文拆分的专注Java培训10年\, Store.YES);IndexableField content=new TextField(\, \培训的龙头老大,口碑最好的java培训机构,进来看看同学们的呐喊\, Store.YES);doc.add(id);}doc.add(title); doc.add(content);indexWriter.addDocument(doc);indexWriter.close();2.3 实现搜索功能(IndexSearcher)/*** 使用indexSearcher对数据进行搜索 * @throws IOException */ @Testpublic void queryIndex() throws IOException{//索引存放的位置Directory directory=FSDirectory.open(new File(\)); //创建索引读取器IndexReader indexReader=DirectoryReader.open(directory);//通过indexSearcher去检索索引目录...IndexSearcher indexSearcher=new IndexSearcher(indexReader);//我们以后只要根据索引查找,整个过程肯定要分2次..//这是一个搜索条件..,通过定义条件来进行查找...(可以拿到编号,编号都放在了//term 我需要根据哪个字段进行检索,字段对应的值...//Query是抽象类,由子类去实现不同的查询规则Query query=new TermQuery(new Term(\, \));//搜索先搜索索引目录(第一次搜)..不会直接搜索到document(第二次搜) //找到符合query条件的前面N条记录...如果不加条件则会全部查询出来ScoreDoc数组中,遍历数组就获得了编号)TopDocs topDocs=indexSearcher.search(query, 10); System.out.println(\总记录数是:\+topDocs.totalHits);//返回结果的数组(得分文档)ScoreDoc[] scoreDocs=topDocs.scoreDocs; //返回一个击中..for(ScoreDoc scoreDoc:scoreDocs){int docID=scoreDoc.doc; //根据编号去击中对应的文档//lucene的索引库里有很多document,lucene为每个document定义一个编号,唯一标识(docId),是自增长的。

Lucene搜索方法总结

Lucene搜索方法总结

1.多字段搜索使用multifieldqueryparser可以指定多个搜索字段。

query query = multifieldqueryparser.parse(”name*”, new string[] { fieldname, fieldvalue }, analyzer);indexreader reader = indexreader.open(directory);indexsearcher searcher = new indexsearcher(reader);hits hits = searcher.search(query);2.多条件搜索除了使用queryparser.parse分解复杂的搜索语法外,还可以通过组合多个query来达到目的。

query query1 = new termquery(new term(fieldvalue,“name1′)); //词语搜索query query2 = new wildcardquery(new term(fieldname,“name*”)); //通配符//query query3 = new prefixquery(new term(fieldname,“name1′)); //字段搜索field:keyword,自动在结尾添加*//query query4 = new rangequery(new term(fieldnumber, numbertools.longtostring(11l)), new term(fieldnumber, numbertools.longtostring(13l)), true); //范围搜索//query query5 = new filteredquery(query, filter); //带过滤条件的搜索booleanquery query = new booleanquery();query.add(query1, booleanclause.occur.must);query.add(query2, booleanclause.occur.must);indexsearcher searcher = new indexsearcher(reader);hits hits = searcher.search(query);3.过滤使用filter对搜索结果进行过滤,可以获得更小范围内更精确的结果。

基于Lucene的电子文献全文检索系统的研究

基于Lucene的电子文献全文检索系统的研究

基于Lucene的电子文献全文检索系统的研究【摘要】:实现了中文单字切分模块,并在LuceneAPI基础上建立支持中英文混合检索的全文数据库。

在电子文献全文检索系统项目中作为全文检索工具。

中文全文数据库的主要性能和功能包括:支持中英文混合检索;可以不关机动态添加或删除一篇文档索引;采用多线程设计,能承受大量的访问请求;支持跨平台运行;提供命令行直接查询方式和基于WEB的查询方式;易学通用的检索表达式;系统可扩展性强。

【关键词】:中文信息处理;全文数据库;全文检索Lucene中国分类号:TP3 文献标识码:A 文章编号:1002-6908(2007)0220078-011.Lucene简介Lucene是一个信息检索的函数库(Library),利用它你可以为你的应用加上索引和搜索的功能。

Lucene的使用者不需要深入了解有关全文检索的知识,仅仅学会使用库中的一个类,你就为你的应用实现全文检索的功能。

Lucene可以对任何的数据做索引和搜索,不管是MS word、Html 、pdf还是其他什么形式的文件只要你可以从中抽取出文字形式的内容就可以被Lucene所用,你就可以用Lucene对它们进行索引以及搜索。

它不仅能用来构建具体的全文检索应用,而且可被集成到各种系统软件中构建Web 等多种应用。

例如,某些商业软件也采用了Lucene作为其内部全文检索子系统的核心。

2.Lucene检索原理Lucene的检索算法属于索引检索,即用空间来换取时间,对需要检索的文件、字符流进行全文索引,在检索的时候对索引进行快速的检索,得到检索位置,这个位置记录检索词出现的文件路径或者某个关键词。

在使用数据库的项目中,一般不使用数据库进行检索,其主要原因是数据库在非精确查询的时候使用查询语言”like%keyword%”,对数据库进行查询是对所有记录遍历,并对字段进行”%keyword%”匹配,在数据库的数据庞大以及某个字段存储的数据量庞大的时候,这种遍历是低效的,它需要对所有的记录进行匹配查询。

基于Lucene的全文检索系统的设计与实现

基于Lucene的全文检索系统的设计与实现

2、查询处理:当用户提交搜索请求时,系统会调用Lucene的查询API对索引 进行搜索。根据用户输入的关键词,系统会在索引中查找包含这些关键词的文 档,并按照相关度进行排序。
3、结果展示:将搜索结果以网页的形式呈现给用户,并在每个搜索结果中展 示关键词的高亮显示,方便用户快速找到感兴趣的内容。
为了提高搜索性能和用户体验,我们还采取了一些优化措施。例如,对索引进 行定期更新以保持最新数据;使用多线程查询以提高并发性能;对搜索结果进 行去重和限流以避免重复和过多结果展示等。
结论
本次演示对基于Lucene的全文检索系统进行了深入研究与开发。
随着信息技术的快速发展,人们对于快速、准确、全面的信息检索需求日益增 长。Lucene全文检索引擎作为开源界的一款强大工具,为各类用户提供了高 效、灵活的信息检索服务。本次演示将从Lucene全文检索引擎的应用研究与 实现两个方面展开讨论。
2、组件选择:全文检索系统需要选用合适的文本解析器、分词器、倒排索引 生成器、查询处理器等组件。这些组件的选择将直接影响到系统的性能和准确 性。
3、数据存储和处理流程:数据存储需要考虑到文本数据的存储格式、索引的 构建与存储方式以及数据的更新与维护等问题;处理流程则包括数据的预处理、 索引构建、查询处理和结果排序等环节。
文献综述
在全文检索系统领域,已经有很多研究者和企业进行了深入的研究和开发。传 统的全文检索系统多采用基于规则和词典的方法来提取关键词和建立索引,但 这种方法对于大规模、多语种和复杂文本的处理能力有限。随着人工智能技术 的发展,尤其是自然语言处理和机器学习领域的进步,越来越多的研究者将新 型技术应用于全文检索,取得了显著的成果。然而,现有的全文检索系统在处 理长文本、识别语义信息等方面仍存在一定局限性。

用lucene实现在一个(或者多个)字段中查找多个关键字

用lucene实现在一个(或者多个)字段中查找多个关键字

用lucene实现在一个(或者多个)字段中查找多个关键字最近跟着师兄们做个项目,我的任务就是负责做个“全文检索”的小模块。

用到了Lucene 的索引,下面的是其中的用Lucene实现在索引的一个字段(比如文章内容字段)进行查找多个关键字的实例代码。

1.Lucene说明Lucene是非常优秀的成熟的开源的免费的纯java语言的全文索引检索工具包。

Lucene的的强项在“建立索引”和”搜索“,而不是实现具体的”分词“。

Lucene支持对生成索引的进行”增,删,改,查“操作,这比自己建立的索引有了很大的进步。

可以使用专门的分词程序进行分词,在分词的结果上用Lucene建立索引。

2.用Lucene实现在一个或者多个字段中的检索主要是函数:MultiFieldQueryParser.parse(String[] query,String[] field,Occur[] occ,Analyzer analyzer);1)query:要查找的字符串数组2)field:要查找的字符串数组对应的字段(当然有可以相同的)3)occ:表示对应字段的限制。

有三种:Occur.MUST(必须有),Occur.MUST_NOT(必须没有),Occur.SHOULD(应该)4)analyzer:对查询数据的分析器,最好与建立索引时用的分析器一致3.代码示例下面这个程序可以实现在一个字段“contents”中查找多个关键字。

稍加修改也可以在多个字段查找多个关键字。

import org.apache.lucene.analysis.standard.StandardAnalyzer;import org.apache.lucene.document.Document;import org.apache.lucene.document.Field;import org.apache.lucene.index.IndexWriter;import org.apache.lucene.queryParser.MultiFieldQueryParser;import org.apache.lucene.search.BooleanClause.Occur;import org.apache.lucene.search.Hits;import org.apache.lucene.search.IndexSearcher;import org.apache.lucene.search.Query;public class MultiPhraseQuerySearcher {private static String indexPath = "E:\\Lucene\\index"; //索引保存目录public static void createIndex(){ //建立索引IndexWriter writer;try {writer = new IndexWriter(indexPath,new StandardAnalyzer(),true);Field fieldB1 = new Field("contents","今晚的辩题很道地:在我们这些人当中?",Field.Store.YES,Field.Index.TOKENIZED);Field fieldB2 = new Field("contents","我们为电影《今朝》是一部不错的影片。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/lucene/
Байду номын сангаас

全文检索系统的结构
为什么使用Lucene

Lucene作为一个全文检索引擎,其具有如下突出的优点: (1)索引文件格式独立于应用平台。Lucene定义了一套以8位字节为基础的索 引文件格式,使得兼容系统或者不同平台的应用能够共享建立的索引文件。 (2)在传统全文检索引擎的倒排索引的基础上,实现了分块索引,能够针对新 的文件建立小文件索引,提升索引速度。然后通过与原有索引的合并,达到优 化的目的。 (3)优秀的面向对象的系统架构,使得对于Lucene扩展的学习难度降低,方便 扩充新功能。 (4)设计了独立于语言和文件格式的文本分析接口,索引器通过接受Token流 完成索引文件的创立,用户扩展新的语言和文件格式,只需要实现文本分析的 接口。
创建索引
Directory indexDir = FSDirectory.open(new File(INDEXDIR)); IndexWriter writer = new IndexWriter(indexDir, analyzer, true, MaxFieldLength.LIMITED); // 2-索引目标 File file = new File(FILENAME); // 3-规定索引范围,目标写入 Document doc = new Document(); doc.add(new Field("name", file.getName(), Store.YES, Index.ANALYZED)); doc.add(new Field("content", IOUtils.readFileContent(file), Store.YES, Index.ANALYZED)); doc.add(new Field("size", NumericUtils.longToPrefixCoded(file.length()), Store.YES, Index.NOT_ANALYZED)); doc.add(new Field("path", file.getAbsolutePath(), Store.YES, Index.NOT_ANALYZED)); writer.addDocument(doc); writer.optimize(); // 5-生成索引 writer.close();
// 3-检索结果
Directory indexDir = FSDirectory.open(new File(INDEXDIR)); Searcher searcher = new IndexSearcher(indexDir,true); TopDocs topDocs = searcher.search(query, 100);
第一个是 FSDirectory,它表示一个存储在文件系统中的索引的位置。 第二个是 RAMDirectory,它表示一个存储在内存当中的索引的位置。
索引查询
// 1-划定检索范围 String[] fields = new String[] { "name", "content" }; QueryParser qp = new QueryParser(Version.LUCENE_36,fields , analyzer); // 2-检索关键字 String key = "泽元软件"; Query query = qp.parse(key);
public IndexWriter(String path, Analyzer a, boolean create) …… Parameters:
• path - the path to the index directory • a - the analyzer to use



String index = "C:\\tomcat\\webapps\\index1"; index IndexWriter writer = new IndexWriter(index, new StandardAnalyzer(),true);
帮助文档
入库逻辑
1.
入 库者定义到库中文档的结构,比如需要把网站内容加载到全文检索库,让 用户通过“站内检索”搜索到相关的网页内容。入库文档结构与关系型数据库 中的表结构类 似,每个入库的文档由多个字段构成,假设这里需要入库的网 站内容包括如下字段:文章标题、作者、发布时间、原文链接、正文内容(一 般作为网页快照)。 包含 N 个字段的文档( DOCUMENT )在真正入库前需要经过切词(或分词)索引, 切词的规则由语言分析器(ANALYZER)完成。 切分后的“单词”被注册到索引树上,供查询时用,另外也需要把其它不需要 索引的内容入库,所有这些是文件操作均由STORAGE完成。 Lucene的索引树结构非常优秀,是Lucene的一大特色。

经过分词处理后
文 章 1 的 所 有 关 键 词 为 : [tom] [live] [guangzhou] [i] [live] [guangzhou] 文章2的所有关键词为:[he] [live] [shanghai]

加上“出现频率”和“出现位置”信息后,我们的索引结构为:
文章号[出现频率] 1[2] 2[1] 1[1] 1[2],2[1] 2[1] 1[1] 出现位置 3,6 1 4 2,5,2 3 1
搜索引擎的历史
萌芽:Archie、Gopher 起步:Robot(网络机器人)的出现与Spider(网络爬虫) 发展:Excite、Galaxy、Yahoo等 繁荣:Infoseek、AltaVista、Google和什么是Lucene
Lucene 是非常优秀的成熟的开源的免费的纯 java 语言的全 文索引检索工具包。
• org.apache.lucene.document.Field
IndexWriter

IndexWriter是在索引过程中的中心组件。 IndexWriter这个类创建一个新的索引并且添加文档到一个 已有的索引中。你可以把IndexWriter想象成让你可以对索 引进行写操作的对象,但是不能让你读取或搜索。 IndexWriter不是唯一的用来修改索引的类 org.apache.lucene.i门实例

Lucene的主要逻辑图 创建索引 索引查询 帮助文档 理解核心索引类 理解核心搜索类 更新索引中的Document
Lucene的主要逻辑图

Lucene 功能强大,但从根本上说, 主要包括两块: 一是文本内容经切词后索引入库; 二是根据查询条件返回结果
• create - true to create the index or overwrite the existing one; false to append to the existing
Directory

Directory类代表一个Lucene索引的位置。它是一个抽象类. 其中的两个实现:
全文检索 是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,
指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引 进行查找,并将查找的结果反馈给用户的检索方式。

Lucene 是 一 个 高 性 能 、 可 伸 缩 的 信 息 搜 索 (IR) 库 。 Information Retrieval (IR) library.它使你可以为你的 应用程序添加索引和搜索能力。 Lucene的作者Doug Cutting是资深的全文索引/检索专家, 最开始发布在他本人的主页上, 2001 年 10 月贡献给 APACHE , 成为APACHE基金的一个子项目。
(5)已经默认实现了一套强大的查询引擎,用户无需自己编写代码即使系统可 获得强大的查询能力, Lucene 的查询实现中默认实现了布尔操作、模糊查询 (Fuzzy Search)、分组查询等等。

开源,可扩展能力强,有各种语言版本,适合各种平台,
Lucene倒排索引原理

假设有两篇文章1和2
文 章 1 的 内 容 为 : Tom lives in Guangzhou,I 文章2的内容为:He once lived in Shanghai. live in Guangzhou too.
2.
3.
4.
5.
理解核心索引类

为了对文档进行索引,Lucene 提供了五个基础的类
public class IndexWriter
• org.apache.lucene.index.IndexWriter
public abstract class Directory
• org.apache.lucene.store.Directory
public abstract class Analyzer
• org.apache.lucene.analysis.Analyzer
public final class Document
• org.apache.lucene.document.Document
public final class Field
关键词 guangzhou he i live shanghai tom
Lucene只关注文本的索引和搜索
lucene建立索引的来源
Nutch

我们来大概了解一下Nutch,以及你将在哪方面运用它?
我还是先说一下Lucene吧。Lucene其实是一个提供全文文本搜索的函数库,它不是一个 应用软件。它提供很多API函数让你可以运用到各种实际应用程序中。现在,它已经成为 Apache 的 一 个 项 目 并 被 广 泛 应 用 着 。 这 里 列 出 一 些 已 经 使 用 Lucene 的 系 统 。 Nutch 是一个建立在Lucene核心之上的Web搜索的实现,它是一个真正的应用程序。也就 是说,你可以直接下载下来拿过来用。它在 Lucene 的基础上加了网 络爬虫和一些和 Web 相关的东东。其目的就是想从一个简单的站内索引和搜索推广到全球网络的搜索上,就 像 Google和 Yahoo一样。当然,和那些巨人 竞争,你得动一些脑筋,想一些办法。我们 已经测试过 100M的网页,并且它的设计用在超过 1B的网页上应该没有问题。当然,让它 运行在一台机器上,搜索一 些服务器,也运行的很好。
相关文档
最新文档