本月博客排行
-
第1名
龙儿筝 -
第2名
zysnba -
第3名
johnsmith9th - wy_19921005
- sgqt
年度博客排行
-
第1名
宏天软件 -
第2名
青否云后端云 -
第3名
龙儿筝 - gashero
- wallimn
- vipbooks
- wy_19921005
- benladeng5225
- fantaxy025025
- javashop
- qepwqnp
- e_e
- 解宜然
- zysnba
- ssydxa219
- sam123456gz
- ranbuijj
- arpenker
- tanling8334
- kaizi1992
- sichunli_030
- xpenxpen
- gaojingsong
- wiseboyloves
- xiangjie88
- ganxueyun
- xyuma
- wangchen.ily
- jh108020
- zxq_2017
- jbosscn
- lemonhandsome
- luxurioust
- Xeden
- lzyfn123
- forestqqqq
- zhanjia
- ajinn
- nychen2000
- wjianwei666
- johnsmith9th
- hanbaohong
- daizj
- 喧嚣求静
- silverend
- mwhgJava
- kingwell.leng
- lchb139128
- lich0079
- kristy_yy
互联网专栏最新文章
lucene-性能
1、FuzzyQuery和WildcardQuery可能会导致失控。
2、RangeQuery对某个范围内的所有项进行枚举时,可能会形成大量查询子句的BooleanQuery。所以最多接收1024个文档
3、修改索引,使RangeQuery的范围缩小到1024以内
lucene-扩展QueryParser
1、FuzzyQuery和WildcardQuery可能会导致失控。
2、RangeQuery对某个范围内的所有项进行枚举时,可能会形成大量查询子句的BooleanQuery。所以最多接收1024个文档
3、修改索引,使RangeQuery的范围缩小到1024以内
lucene-用SAX API进行XML解析并索引
1、对XML进行解析使用XML(SAX)的API定义了一个事件驱动的接口。在这个接口中,当某个分析事件发生时,解析器会调用几个方法中的一个响应,而这些方法是由调用程序提供的。这些触发事件包括文档或文档的开始、结束或解析出错。
2、我们使用Xerces2 Java Parser解析器。
3、
XML文档片段
<?xml version='1.0'encoding='utf-8'?&g ...
lucene-使用Digester分析XML索引
1、隶属于Jakarta Commons项目的一个子项目提供了一个简单的上层接口来将XML类型的文档映射为JAVA对象。
2、DigesterXMLHandler类用来解析XML格式的文档。
public class DigesterXMLHandler implements DocumentHandler{
private Digester dig;
private static Do ...
lucene-索引HTML文档
1、大部分WEB文档采用HTML格式。
2、本例用如下HTML文档
<html>
<head>
<title>
Laptop power supplies are avaliable in First class only
</title>
</head>
<body>
<h1>code,wri ...
lucene-索引word文档
1、通过POI项目来索引。
public class POIWordDocHandler implements DocumentHandler{
public Document getDocument(InputStream is)throws DocumentHandlerException{
StringbodyText=null;
try{//提取文本字段,接收word文档的inp ...
lucene-索引纯文本文档
1、实现纯文本文档的DocumentHandler接口
2、
public class PlainTextHandler implements DocumentHandler
throws DocumentHandlerException{
String bodyText="";
try{
BufferReader br=new BufferedReader(ne ...
lucene-索引RTF文档
1、对RTF进行文本提取操作时可以使用部分JAVA标准类处理(javax.swing.text和javax.swing.text.rtf)
2、
public class JavaBuiltInRTFHanlder implementsDocumentHandler{
public DocumentgetDocument(InputSream is)throws DocumentHandle ...
lucene-创建文档索引处理框架
1、组成文件索引操作框架的JAVA类
1)DocumentHandler:定义getDocument(InputStream)方法,此方法由所有的文档解析器实现
2)DocumentHandlerException:遇到错误情况时,该类将检测所有从文档解析器抛出的异常
3)FileHanlder:定义getDocument(File)方法,该方法由ExtensionFleHandler类实 ...
lucene-sandbox工具包
主要组成如下:
1)analyzers:对各种不同语言的分析器
2)ant:Ant<index>任务
3)db:Berkeley DB目录的实现
4)highlighter:高度显示搜索结果中的片断
5)javascript:为web浏览器进行交互的命令行接口
6)lucli:与索引文件进行交互的命令行接口
7)miscellanceous:包含ChainedFilter在 ...
lucene-使用sandbox的wordnet完成同义词索引
wordnet是一个同义词系统。
1、从wordnet网站下载解压prolog16.tar.gz文件
2、获得sandbox工具箱wordnet包的二进制文件
3、建立同义词索引
java org.apache.lucene.wordnet.Syns2Index prologwn/wn_s.plwordnetindex
4、将WordNet中的同义词连接到分析器中
public cl ...
lucene-使用Highlighter高亮显示查询项
1、Highlighte包含三个主要部分:
1)段划分器:Fragmenter
2)计分器:Scorer
3)格式化器:Formatter
2、不仅需要你提供记分器和需要高亮显示的文本,还需要一个TokenStream实例。这个TokenStream实例由分析器生成。我们提供的文本用于生成TokenStream,这个TokenStream被用作高亮显示的原始文本。
3、Highlighte ...
lucene-链式过滤器ChainedFliter
1、使用ChainedFilter将其它过滤器链接起来,在过滤器中执行AND、OR、XOR和ANDNOT的位操作。
2、ChianedFilter没有缓存,只要把它封装进CachingWrappingFilter就可以提供对过滤器结果的缓存操作。
3、
public class ChainedFilterTest extends TestCase{
public static final i ...
几分钟内可以部署的搜索引擎-searchbox
1、searchbox是一个完整的搜索工作,集成了网络爬虫、支持不同文档类型、可应用于多种自然语言,可自定义搜索结果,可用基于浏览器的管理平台对系统全权控制
2、使用了lucene
3、支持17种语言-包括日语、汉语、韩语
lucene索引过程详解
一、索引是LUCENE最重要的一个过程,通过IndexWriter的addDocument接口,可以将构建的Document加入索引。
二、IndexWriter的addDocument方法首先创建一个DocumentWriter对象,接着为Segment命名,然后调用DocumentWriter的addDocument()方法向索引中增加文档,最后将Segment的信息保存,如果有多个segme ...
lucene-索引的合并
1、使用IndexWriter的addIndexes(Direcotry[] dir)方法将索引合并到一个索引中
2、在合并内存中索引RAMDirectory时,一定将其相应的IndexWriter关闭,以保证滞留在缓存中的文档被刷到RAMDirectory中。
lucene-文档的查找与删除
1、查找
Term term=new Term("bookname","女");//bookname是field名称
docs=reader.termDocs(term);
2、删除单个文档
IndexReader reader=IndexReader.open(path);
reader.deleteDocument(0);//0是索引号
rea ...
lucene-锁与IndexModifier
1、write.lock
出现在向索引中增加文档时,或是将文档从索引中删除时。
会在IndexWriter被初始化时创建,然后会在调用IndexWrtier的close()方法时被释放。
会在IndexReader使用delete方法删除文档时创建,并在调用IndexReader的close()方法时被释放
2、commit.lock
主要是与segment合并和读取的操作相关。另外,当调 ...
lucene精解-BooleanQuery、RangeQuery及rewrite
1、BooleanQuery
1)
Term t1=new Term("bookname","女");
Term t2=new Term("bookname","的");
Term t3=new Term("bookname","我");
TermQuery q1=new ...
互联网热门文章
博客专栏评论
分享一款代码生成器,拖拽式组件结合流式处理,很容易的访问数据库、http、文件读写操作等等,支持编写j ...
MCLoginandPwd 评论了 spring-data-jpa原理探秘(4)-JpaQueryE ...
MCLoginandPwd 评论了 spring-data-jpa原理探秘(4)-JpaQueryE ...