Lucene

Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。

ajax+Lucene+nutch构造垂直搜索(1)

   垂直搜索是针对某一个行业的专业搜索引擎,是搜索引擎的细分和延伸,是对网页库中的某类专门的信息进行一次整合,定向分字段抽取出需要的数据进行处理后再以某种形式返回给用户。垂直搜索引擎和普通的网页搜索引擎的最大区别是对网页信息进行了结构化信息抽取,也就是将网页的非结构化数据抽取成特定的结构化信息数据,好比网页搜索是以网页为最小单位,基于视

2015-07-08 16:56:29

lucene索引和检索原理

Lucene是一个高性能的java全文检索工具包,它使用的是倒排文件索引结构。该结构及相应的生成算法如下:      0)设有两篇文章1和2   文章1的内容为:Tom lives in Guangzhou,I live in Guangzhou too.   文章2的内容为:He once lived in Shanghai.      1)由

2015-07-08 16:56:29

应用lucene.net进行搜索测试

  经过上篇我们已经对59部小说文本建立了索引,详情可见http://www.cnblogs.com/abob/archive/2006/08/26/487140.html 1: 搜索关键字 using System;using System.Collections.Generic;using System

2015-07-08 16:56:29

Lucene.Net 2.3.1开发介绍 —— 四、搜索(二)

4.3 表达式用户搜索,只会输入一个或几个词,也可能是一句话。输入的语句是如何变成搜索条件的上一篇已经略有提及。 4.3.1 观察表达式在研究表达式之前,一定要知道,任何一个Query都会对于一个表达式。不光可以通过Query构造表达式,还可以通过拼接字符串构造。这里说的观察表达式是指,用Query完成查询语句后,用ToString()方法输出Query的

2015-07-08 16:56:28

Lucene中的基本概念

本文定义了Lucene(版本1.3)用到的索引文件的格式。 Jakarta Lucene是用Java写成的,同时有很多团体正在默默的用其他的程序语言来改写它。如果这些新的版本想和Jakarta Lucene兼容,就需要一个与具体语言无关的Lucene索引文件格式。本文正是试图提供一个完整的与语言无关的Jakarta Lucene 1.3索引文件

2015-07-08 16:56:28

Lucene.Net学习四——通过内存索引进一步提高索引的性能

在前面的例子中,利用的都是直接在文件系统上建立索引,如   Lucene.Net.Store.Directory indexDir = FSDirectory.Open(new DirectoryInfo(@\"F:\\lucene_index\")); 其中Directory是一个抽象类,具有多态性,这里用过FSDirectory.O

2015-07-08 16:56:28

打造自己的分布式搜索引擎底层架构(非Lucene)

打造自己的分布式搜索引擎底层架构(非Lucene) 大家知道,搜索引擎技术不仅仅是类似百度首页的应用,还可以衍生出数据分析工具,商务智能工具等许多有卖点的应用,甚至是社会化关系通道的发现。甚至这些非搜索引擎的搜索引擎产品才是最重要的,因为你不需要去做百度做的事情。所以,搜索引擎技术要了解原理,才可以扩展,离开Lucene也能做搜索引擎是非常重要的,利用这个

2015-07-08 16:56:27

Lucene.Net 删除索引DeleteDocuments的注意事项

Lucene.Net 在删除索引时,经常会出现代码成功执行,但索引并未正直删除的现象,总结一下,要注意以下因素: 1.在创建Term时,注意Term的key一定要是以\"词\"为单位,否则删除不成功,例如:添加索引时,如果把\"d:\\doc\\id.txt\"当作要索引的字符串索引过了,那么在删除时,如果直接把\"d:\\doc\\id.txt\"作为查

2015-07-08 16:56:27

有关Lucene的问题(5):Lucene中的TooManyClause异常

为什么会产生这个异常: 使用Lucene检索过程中如果用到RangeQuery,PrefixQuery,WildcardQuery,FuzzyQuery这四种Query,可能会产生TooManyClauses异常。为什么会产生这个异常呢?举例说明: 以RangeQuery为例,如果日期范围为19990101到20091231,在索引文件中有19990102,

2015-07-08 16:56:26

lucene.net学习六——多Field多索引文件的查询

在实际的需求中,我们需要输入一个关键语句,希望能搜索到标题中含有此关键词或者内容中也还有此关键语句的文章,这就是一个多Field查询的问题 当然多Field之间的关系可能为“与”也有可能为“或”。一般情况下,都在同一个目录索引下搜索,但是如果索引被分成很多文件,存在不同的地方,因此又会有一个多索引文件搜索的问

2015-07-08 16:56:25

Lucene自定义扩展QueryParser

Lucene版本:4.10.2   在使用lucene的时候,不可避免的需要扩展lucene的相关功能来实现业务的需要,比如搜索时,需要在满足一个特定范围内的document进行搜索,如年龄在20和30岁之间的document中搜索并排序。其实lucene自带的NumericRangeQuery类已经能实现这个功能了,如下: public

2015-07-08 16:56:24

解读Lucene.Net 阅读索引

解读Lucene.Net——说明   (2008年8月7日 2:39) 解读Lucene.Net —— 一、 Directory 之一  (2008年8月7日 2:40)解读Lucene.Net —— 一、 Directory 之二 (2008年8月7日 22:16) 解读Lucene.Net —— 二、 InputS

2015-07-08 16:56:23

Hack in Lucene.Net之为什么无法在搜索时统计分类下相关结果数或者实现Group By效果

这几天一直在思考如果Hack in Lucene.Net就能实现在搜索时统计分类下相关结果数或者实现Group By效果,答案是,如果依靠IndexSearcer类注入,那么是不可能实现这个效果的。从大的方面——索引结构——上面说更加容易让人理解,就先从这里说起。 Lucene的索引结构是分块的,这个在很多地

2015-07-08 16:56:22

Lucene的例子

lucene爬数据库中的数据无非也是查询数据。所有我们用lucene搜索数据主要有下面几个步骤:(代码紧供参考)       一  ,  从数据库中查数据 ====爬数据  -------------1   public

2015-07-08 16:56:22

给你的网站加上站内搜索---Spring+Hibernate基于Compass(基于Lucene)实现

Compass(基于2 Compass介绍 4 spring+hibernate继承4-2 配置文件 4-5 测试 这些天一直在学点新的东西,想给毕业设计添加点含量,长时间的apache的顶级开源项目lucene官方给的文档例子不是很给力的,还好互联网上资料比较丰富!在搜索compass和web网页,你需要把数据给拿出来索引再搜索,所以你就想可不可

2015-07-08 16:56:21

lucene.net学习心得

lucene的确是个好东西!如果你有时间,我强烈推荐你学习下! ====================================================================== 【摘录收集】 -------------------------------------------------------------

2015-07-08 16:56:20

基于lucene的搜索服务器

最近在项目经理Jack.Wang的带领下,写了一个基于Lucene的搜索服务器,学到了很多,在此记录一下。 目的: 这是一个用Lucene建立索引并搜索的服务器,用于项目的整站搜索,对数据库或者文档的全文索引。   优点: 1、多项目使用:因为使用了restful服务,多个项目可以同时使用一个搜索服务器。 2、使用简单,灵活:只需给出一

2015-07-08 16:56:20

Lucene/Solr搜索引擎开发笔记 - 第2章 Solr安装与部署(Tomcat篇)

图1-1 Tomcat和Solr的版本    3、在E:\\apache-tomcat-8.0.9\\conf\\server.xml中,找到<Connector>标签,在该标签尾端添加URIEncoding=\"UTF-8\",目的为解决中文搜索乱码,如下代码所示: connectionTimeout=\

2015-07-08 16:56:19

Lucene分页查询

分页查询只需传入每页显示记录数和当前页就可以实现分页查询功能。 Lucene分页查询是对搜索返回的结果进行分页,而不是对搜索结果的总数量进行分页,因此我们搜索的时候都是返回前n条记录。 代码:1、LucenePageTest类->Lucene分页测试 package junit; import java.io.IOException;

2015-07-08 16:56:19

Lucene用c++重写的详细安排

想到又开始可以写代码了,觉得激动不已啊,哈哈。不过或许到了公司上班就没有这个想法了,对于写代码我倒是从来不觉得讨厌,可能是我真的挺适合干这一行吧。这次使用Lucene比上次重写3D引擎的时候可不那么一样了,希望能够做出更严谨的程序,比如说对于异常的处理等等,上次整个程序中就没有一句try..catch..这几天大概的翻了下《Lucene的分析与应用》书本身写

2015-07-08 16:56:19