- 博客(110)
- 资源 (45)
- 收藏
- 关注
转载 eclipse下安装js插件-spket(支持Ext)
一直在寻找一个好用的js插件,以前用过jsEclipse什么的,但是比较起来 spket最好用了,而且它还支持ext,安装起来很简单.....1、选择Help -> Software Updates -> Find and Install...-> Search for new features to install ->New remote site...Name: "Spket", Url:
2011-06-24 11:07:00 1238
转载 查看class被什么版本jdk编译
<br />import java.io.FileInputStream; public class JavaVersionUtil { private static final String str = "C:/Users/Administrator/Desktop/DBUtil.class"; // 版本号对应: // 5.0 // 版本号(version):49.0 // 6.0 // 版本号(version):50.0 // 1.4 // 版本号(
2011-05-23 12:46:00 780
转载 网络搜索引擎大全
<br />综合类 <br /><br />1.搜索界的霸主————Google www.google.com <br />2.中国的霸者————百度搜索 www.baidu.com <br />3.元老级搜索————雅虎 http://www.yahoo.com.cn/ <br />4.搜索的联盟————中国搜索 http://www.zhongsou.com/ <br />5.天职是搜索————搜狗 http://www.sogou.com/ <br />6.问尽天下事————爱问 http://www
2011-01-10 17:53:00 3129
翻译 如何提高和优化Lucene搜索速度
这篇文章主要介绍了如何提高Lucene的搜索速度。介绍的大部分思路都是很容易尝试的,当然另外一部分可能会加大你程序的复杂度。所以请确认搜索速度确实很慢,而且很慢的原因确实是因为Lucene自身而造成的。推荐姐妹篇:如何提高和优化Lucene索引速度确认你在使用Lucene的最新版本尽量使用本地文件系统远程文件系统一般来说都会降低搜索速度。如果索引必须分布在远程服务器,可以尝试将远程文件系统设置为只读。在某些情况下,这样可以提高性能。使用更快的硬件设备,特别是更快的IO设备Lucene搜索可以很好的工作在基于
2011-01-10 17:15:00 3117
翻译 如何提高和优化Lucene索引速度
这篇文章主要介绍了如何提高Lucene的索引速度。介绍的大部分思路都是很容易尝试的,当然另外一部分可能会加大你程序的复杂度。所以请确认索引速度确实很慢,而且很慢的原因确实是因为Lucene自身而造成的。推荐姐妹篇:如何提高和优化Lucene搜索速度• 确认你在使用最新的Lucene版本。• 尽量使用本地文件系统远程文件系统一般来说都会降低索引速度。如果索引必须分布在远程服务器,请尝试先在本地生成索引,然后分发到远程服务器上。• 使用更快的硬件设备,特别是更快的IO设备• 在索引期间复用单一的IndexWri
2011-01-10 17:14:00 1361
转载 lucene3.0范围查找TermRangeQuery
<br /><br />在lucene3.0中,范围查询也有很大的变化,RangeQuery已经不推荐使用,使用TermRangeQuery和NumericRangeQuery两个替代。<br />TermRangeQuery:主要用于文本范围查找;<br />IndexReader reader = IndexReader<br />.open(FSDirectory.open(INDEX_DIR), true); // only searching,<br />Searcher searcher = n
2010-12-24 09:32:00 2247 1
转载 Lucene学习总结之十:Lucene的分词器Analyzer
<br />1、抽象类Analyzer<br />其主要包含两个接口,用于生成TokenStream:TokenStream tokenStream(String fieldName, Reader reader);TokenStream reusableTokenStream(String fieldName, Reader reader) ;<br />所谓TokenStream,后面我们会讲到,是一个由分词后的Token结果组成的流,能够不断的得到下一个分成的Token。<br />为了提高性能,使得
2010-12-23 14:18:00 873
转载 Lucene学习总结之九:Lucene的查询对象(3)
<br />6、FilteredQuery<br />FilteredQuery包含两个成员变量:Query query:查询对象Filter filter:其有一个函数DocIdSet getDocIdSet(IndexReader reader) 得到一个文档号集合,结果文档必须出自此文档集合,注此处的过滤器所包含的文档号并不是要过滤掉的文档号,而是过滤后需要的文档号。<br />FilterQuery所得到的结果集同两者取AND查询相同,只不过打分的时候,FilterQuery只考虑query的部分,
2010-12-23 14:15:00 700
转载 Lucene学习总结之九:Lucene的查询对象(2)
<br />5、SpanQuery<br />所谓SpanQuery也即在查询过程中需要考虑进Term的位置信息的查询对象。<br />SpanQuery中最基本的是SpanTermQuery,其只包含一个Term,与TermQuery所不同的是,其提供一个函数来得到位置信息:<br />public Spans getSpans(final IndexReader reader) throws IOException {<br /> return new TermSpans(reader.termPos
2010-12-23 14:13:00 606
转载 Lucene学习总结之九:Lucene的查询对象(1)
<br /><br />Lucene除了支持查询语法以外,还可以自己构造查询对象进行搜索。<br />从上一节的Lucene的语法一章可以知道,能与查询语句对应的查询对象有:BooleanQuery,FuzzyQuery,MatchAllDocsQuery,MultiTermQuery,MultiPhraseQuery,PhraseQuery,PrefixQuery,TermRangeQuery,TermQuery,WildcardQuery。<br />Lucene还支持一些查询对象并没有查询语句与之对应
2010-12-23 14:11:00 807
转载 Lucene学习总结之八:Lucene的查询语法,JavaCC及QueryParser(2)
<br />三、解析QueryParser.jj<br /> 3.1、声明QueryParser类<br />在QueryParser.jj文件中,PARSER_BEGIN(QueryParser)和PARSER_END(QueryParser)之间,定义了QueryParser类。<br />其中最重要的一个函数是public Query parse(String query)函数,也即我们解析Lucene查询语法的时候调用的函数。<br />这是一个纯Java代码定义的函数,会直接拷贝到QueryPar
2010-12-23 14:10:00 1080 1
转载 Lucene学习总结之八:Lucene的查询语法,JavaCC及QueryParser(1)
<br />一、Lucene的查询语法<br />Lucene所支持的查询语法可见http://lucene.apache.org/java/3_0_1/queryparsersyntax.html(1) 语法关键字<br />+ - && || ! ( ) { } [ ] ^ " ~ * ? : /<br />如果所要查询的查询词中本身包含关键字,则需要用/进行转义(2) 查询词(Term)<br />Lucene支持两种查询词,一种是单一查询词,如"hello",一种是词组(phrase),如"hell
2010-12-23 14:09:00 731
转载 Lucene学习总结之七:Lucene搜索过程解析(8)
<br />2.4、搜索查询对象<br /> <br /> 2.4.4、收集文档结果集合及计算打分<br />在函数IndexSearcher.search(Weight, Filter, int) 中,有如下代码:<br />TopScoreDocCollector collector = TopScoreDocCollector.create(nDocs, !weight.scoresDocsOutOfOrder());<br />search(weight, filter, collector);<b
2010-12-23 14:07:00 630
转载 Lucene学习总结之七:Lucene搜索过程解析(7)
<br />2.4、搜索查询对象<br /> <br /><br />2.4.3.2、并集DisjunctionSumScorer(A OR B)<br />DisjunctionSumScorer中有成员变量List<Scorer> subScorers,是一个Scorer的链表,每一项代表一个倒排表,DisjunctionSumScorer就是对这些倒排表取并集,然后将并集中的文档号在nextDoc()函数中依次返回。<br />DisjunctionSumScorer还有一个成员变量minimumNr
2010-12-23 14:06:00 836
转载 Lucene学习总结之七:Lucene搜索过程解析(6)
<br />2.4、搜索查询对象<br /> 2.4.3、进行倒排表合并<br />在得到了Scorer对象树以及SumScorer对象树后,便是倒排表的合并以及打分计算的过程。<br />合并倒排表在此节中进行分析,而Scorer对象树来进行打分的计算则在下一节分析。<br />BooleanScorer2.score(Collector) 代码如下:<br />public void score(Collector collector) throws IOException {<br /> colle
2010-12-23 14:03:00 542
转载 Lucene学习总结之七:Lucene搜索过程解析(5)
<br />2.4、搜索查询对象<br /> <br /> 2.4.2、创建Scorer及SumScorer对象树<br />当创建完Weight对象树的时候,调用IndexSearcher.search(Weight, Filter, int),代码如下:<br /> <br />//(a)创建文档号收集器<br />TopScoreDocCollector collector = TopScoreDocCollector.create(nDocs, !weight.scoresDocsOutOfOrde
2010-12-23 14:01:00 623
转载 Lucene学习总结之七:Lucene搜索过程解析(4)
<br />2.4、搜索查询对象<br /> 2.4.1.2、创建Weight对象树<br />BooleanQuery.createWeight(Searcher) 最终返回return new BooleanWeight(searcher),BooleanWeight构造函数的具体实现如下:<br /> <br />public BooleanWeight(Searcher searcher) {<br /> this.similarity = getSimilarity(searcher);<br
2010-12-23 14:00:00 708
转载 Lucene学习总结之七:Lucene搜索过程解析(3)
<br />2.3、QueryParser解析查询语句生成查询对象<br />代码为:<br />QueryParser parser = new QueryParser(Version.LUCENE_CURRENT, "contents", new StandardAnalyzer(Version.LUCENE_CURRENT));<br />Query query = parser.parse("+(+apple* -boy) (cat* dog) -(eat~ foods)");<br />此过程相对
2010-12-23 13:59:00 577
转载 Lucene学习总结之七:Lucene搜索过程解析(1)
<br />一、Lucene搜索过程总论<br />搜索的过程总的来说就是将词典及倒排表信息从索引中读出来,根据用户输入的查询语句合并倒排表,得到结果文档集并对文档进行打分的过程。<br />其可用如下图示:<br /><br /> <br />总共包括以下几个过程:IndexReader打开索引文件,读取并打开指向索引文件的流。用户输入查询语句将查询语句转换为查询对象Query对象树构造Weight对象树,用于计算词的权重Term Weight,也即计算打分公式中与仅与搜索语句相关与文档无关的部分(红色部
2010-12-23 13:57:00 568
转载 Lucene学习总结之七:Lucene搜索过程解析(2)
<br />二、Lucene搜索详细过程<br />为了解析Lucene对索引文件搜索的过程,预先写入索引了如下几个文件:<br />file01.txt: apple apples cat dog<br />file02.txt: apple boy cat category<br />file03.txt: apply dog eat etc<br />file04.txt: apply cat foods2.1、打开IndexReader指向索引文件夹<br />代码为:<br />IndexRead
2010-12-23 13:57:00 523
转载 Lucene学习总结之六:Lucene打分公式的数学推导
<br /><br />在进行Lucene的搜索过程解析之前,有必要单独的一张把Lucene score公式的推导,各部分的意义阐述一下。因为Lucene的搜索过程,很重要的一个步骤就是逐步的计算各部分的分数。<br />Lucene的打分公式非常复杂,如下:<br /> <br /><br /> <br />在推导之前,先逐个介绍每部分的意义:t:Term,这里的Term是指包含域信息的Term,也即title:hello和content:hello是不同的Termcoord(q,d):一次搜索可能包含多
2010-12-23 13:56:00 546
转载 Lucene学习总结之五:Lucene段合并(merge)过程分析
<br />一、段合并过程总论<br />IndexWriter中与段合并有关的成员变量有:<br /> HashSet<SegmentInfo> mergingSegments = new HashSet<SegmentInfo>(); //保存正在合并的段,以防止合并期间再次选中被合并。MergePolicy mergePolicy = new LogByteSizeMergePolicy(this);//合并策略,也即选取哪些段来进行合并。MergeScheduler mergeScheduler =
2010-12-23 13:55:00 699
转载 Lucene学习总结之四:Lucene索引过程分析(4)
<br />6、关闭IndexWriter对象<br />代码:<br />writer.close();<br />--> IndexWriter.closeInternal(boolean)<br /> --> (1) 将索引信息由内存写入磁盘: flush(waitForMerges, true, true); <br /> --> (2) 进行段合并: mergeScheduler.merge(this);<br />对段的合并将在后面的章节进行讨论,此处仅仅讨论将索引信息由写入
2010-12-23 13:51:00 381
转载 Lucene学习总结之四:Lucene索引过程分析(3)
<br />5、DocumentsWriter对CharBlockPool,ByteBlockPool,IntBlockPool的缓存管理在索引的过程中,DocumentsWriter将词信息(term)存储在CharBlockPool中,将文档号(doc ID),词频(freq)和位置(prox)信息存储在ByteBlockPool中。在ByteBlockPool中,缓存是分块(slice)分配的,块(slice)是分层次的,层次越高,此层的块越大,每一层的块大小事相同的。nextLevelArray
2010-12-23 13:48:00 495
转载 Lucene学习总结之四:Lucene索引过程分析(2)
<br />3、将文档加入IndexWriter<br />代码:writer.addDocument(doc); <br />-->IndexWriter.addDocument(Document doc, Analyzer analyzer) <br /> -->doFlush = docWriter.addDocument(doc, analyzer); <br /> --> DocumentsWriter.updateDocument(Document, Analyzer,
2010-12-23 13:47:00 504
转载 Lucene学习总结之四:Lucene索引过程分析(1)
<br /><br />对于Lucene的索引过程,除了将词(Term)写入倒排表并最终写入Lucene的索引文件外,还包括分词(Analyzer)和合并段(merge segments)的过程,本次不包括这两部分,将在以后的文章中进行分析。<br />Lucene的索引过程,很多的博客,文章都有介绍,推荐大家上网搜一篇文章:《Annotated Lucene》,好像中文名称叫《Lucene源码剖析》是很不错的。<br />想要真正了解Lucene索引文件过程,最好的办法是跟进代码调试,对着文章看代码,这样
2010-12-23 13:46:00 530
转载 Lucene学习总结之三:Lucene的索引文件格式(3)
<br />四、具体格式<br />4.2. 反向信息<br />反向信息是索引文件的核心,也即反向索引。<br />反向索引包括两部分,左面是词典(Term Dictionary),右面是倒排表(Posting List)。<br />在Lucene中,这两部分是分文件存储的,词典是存储在tii,tis中的,倒排表又包括两部分,一部分是文档号及词频,保存在frq中,一部分是词的位置信息,保存在prx中。Term Dictionary (tii, tis)–> Frequencies (.frq)–>
2010-12-23 13:45:00 696
转载 Lucene学习总结之三:Lucene的索引文件格式(2)
<br />四、具体格式<br />上面曾经交代过,Lucene保存了从Index到Segment到Document到Field一直到Term的正向信息,也包括了从Term到Document映射的反向信息,还有其他一些Lucene特有的信息。下面对这三种信息一一介绍。4.1. 正向信息<br />Index –> Segments (segments.gen, segments_N) –> Field(fnm, fdx, fdt) –> Term (tvx, tvd, tvf)<br />上面的层次结构不是
2010-12-23 13:44:00 615
转载 Lucene学习总结之三:Lucene的索引文件格式(1)
<br /><br />Lucene的索引里面存了些什么,如何存放的,也即Lucene的索引文件格式,是读懂Lucene源代码的一把钥匙。<br />当我们真正进入到Lucene源代码之中的时候,我们会发现:Lucene的索引过程,就是按照全文检索的基本过程,将倒排表写成此文件格式的过程。Lucene的搜索过程,就是按照此文件格式将索引进去的信息读出来,然后计算每篇文档打分(score)的过程。<br />本文详细解读了Apache Lucene - Index File Formats(http://lu
2010-12-23 13:43:00 493
转载 Lucene学习总结之二:Lucene的总体架构
<br /><br />Lucene总的来说是:一个高效的,可扩展的,全文检索库。全部用Java实现,无须配置。仅支持纯文本文件的索引(Indexing)和搜索(Search)。不负责由其他格式的文件抽取纯文本文件,或从网络中抓取文件的过程。<br />在Lucene in action中,Lucene 的构架和过程如下图,<br /><br /><br /><br />说明Lucene 是有索引和搜索的两个过程,包含索引创建,索引,搜索三个要点。<br />让我们更细一些看Lucene的各组件:<br /
2010-12-23 13:42:00 431
转载 Lucene学习总结之一:全文检索的基本原理
<br />一、总论<br />根据http://lucene.apache.org/java/docs/index.html 定义:<br />Lucene 是一个高效的,基于Java 的全文检索库。<br />所以在了解Lucene之前要费一番工夫了解一下全文检索。<br />那么什么叫做全文检索呢?这要从我们生活中的数据说起。<br />我们生活中的数据总体分为两种:结构化数据 和非结构化数据 。结构化数据: 指具有固定格式或有限长度的数据,如数据库,元数据等。非结构化数据: 指不定长或无固定格式的数
2010-12-23 13:41:00 404
转载 使用EHCache提升网站性能
在开发高并发量,高性能的网站应用系统时,缓存Cache起到了非常重要的作用。本文主要介绍EHCache的使用,以及使用EHCache的实践经验。 笔者使用过多种基于Java的开源Cache组件,其中包括OSCache、JBossCache、EHCache。OSCache功能强大,使用灵活,可用于对象缓存、Filter缓存以及在JSP中直接使用cache标签。笔者在最近的使用过程中发现,在并发量较高时,OSCache会出现线程阻塞和数据错误,通过分析源代码发现是其内部实现的缺陷。JBossC
2010-12-23 11:19:00 720
转载 理解static执行顺序
<br />class Bowl { Bowl(int marker) { ---------------------3,5构造 System.out.println("Bowl(" + marker + ")"); } void f(int marker) { ----------------------7,被table调用 System.out.println("f(" + marker + ")"); }}class Table {
2010-12-23 11:07:00 740
转载 Java编码
<br /><br />常见的JAVA程序包括以下类别:<br />*直接在console上运行的类(包括可视化界面的类)<br />*JSP代码类(注:JSP是Servlets类的变型)<br />*Servelets类<br />*EJB类<br />*其它不可以直接运行的支持类<br /><br /><br />这些类文件中,都有可能含有中文字符串,并且常用前三类JAVA程序和用户直接交互,用于输出和输入字符,如:在JSP和Servlet中得到客户端送来的字符,这些字符也包括中文字符。无论这些JAVA
2010-12-23 11:01:00 484
转载 基于Lucene的Compass
<br />Compass是基于Lucene的JAVA搜索引擎开源框架。 <br /><br />1.2、Compass相关网上资源 <br /><br />1、官方网站1: http://www.opensymphony.com <br /><br />2、官方网站2:[url] http://www.compass-project.org[/url] <br /><br />3、官方社区:http://forum.compass-project.org <br /><br />1.3、相关文章 <br
2010-12-23 10:47:00 660
转载 lucene的索引文件结构
<br /><br />lucene的索引文件结构<br /> <br /> <br />Lucene的索引文件存在一个索引目录中。<br />文件共有10种:*.f(n), *.fdt, *.fdx, *.fnm, *.frq, *.prx, *.tii, *.tis, deletable, seqments.<br />下面分别描述。<br /><br />在介绍之前,先描述一下几个文件格式中常用的数据类型。<br />数据类型1。 VInt, 可变长度的整数,最小一个字节,可以是2-4个字节,如果一个
2010-12-23 10:43:00 915
原创 Lucene的查询语句用法
<br /><br />前面已经对 Lucene 有了一些了解,现在我们想象它怎么去搜索这些数据呢,如果知道倒排索引,你就知道了,其实 lucene 检索的是它自己建立的索引,从索引中的到数据的指针,从而得到数据。其实就这么简单。<br />提到索引,现在的索引技术中有:倒排索引、后缀数组和签名文件这三种,其中后缀数组这种技术虽然检索速度也很快,但是它的数据结构构造和维护都是相当麻烦的所以不可取了。我也懒得去看了。至于签名文件嘛,那是 80 年代的玩意了,现在已经过时了。现在可是倒排索引的天下啊!相信百度和
2010-12-23 10:41:00 1534
转载 利用myeclipse 生成Hibernate Mapping文件时出现No entries available的解决办法
在hibernate中,每个数据表对应的其实是一个实体类,每个实体类有一个对应的hbm.xml配置文件和你匹配,myeclipse中有个MyEclipse Database Explorer视图,它提供了myeclipse与数据库直接连接的内置窗口,并且通过此窗口可以生成hibernate的mapping文件。 ? 在原有的工程中我配置好了这些,并且可以对数据表进行浏览和数据修改了,但是在执行Generate Hibernate Mapping时,location项browser的时候,弹出窗口显示没有合适
2010-12-21 14:54:00 1464
转载 html文件的图标变成应用程序图标怎么办
有的电脑可能遇上一些很怪的问题,比如,html本应该是的图标,可是却变成的未知程序的样子。很苦恼,怎么办呢? 显然问题肯定与IE有关。 一般情况下,使用360修复IE,或者使用一些流氓软件专杀都不起效果,因为被影响的是系统,就算是流氓软件做的,除掉了流氓软件,这种苦恼依旧还在。 这种情况的原因是多方面的:1,浅层次来说,可能是属性中的使用非浏览器的打开方式。解决方法:文件右击——属性,“更改”打开方式,确定。刷新2,既然问题是出在文件关联上,那么可以进一步对注册表做如
2010-12-16 16:02:00 1572
转载 java.lang.OutOfMemoryError: Java heap space错误及处理办法
java.lang.OutOfMemoryError: Java heap space 使用Java程序从数据库中查询大量的数据时出现异常: java.lang.OutOfMemoryError: Java heap space 在JVM中如果98%的时间是用于GC且可用的 Heap size 不足2%的时候将抛出此异常信息。 JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置. JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大
2010-12-15 17:16:00 665
Ext3.0英文API.CHM
2011-06-22
EXT2.0中文教程.rar
2011-06-22
EXT 中文手册.pdf
2011-06-22
Eclipse下Ext插件.rar
2011-06-22
junit4.9b2
2011-05-06
TortoiseSVN使用手册
2011-05-06
Eclipse VSS插件
2011-05-06
SecureCRT 6.5 破解汉化版
2011-05-06
Adobe Flash Builder 4 自述
2011-04-15
ADT-10.0.0.zip
2011-04-15
ADT-0.9.7.zip
2011-04-15
java软件构架设计模式
2011-04-13
Java及基于Java的技术
2011-04-13
JavaScript 5
2011-04-13
Java获得IP地址
2011-03-06
Restorator
2010-06-13
sql2000无日志修复软件 V1.0简体中文绿色免费版
2010-06-13
Win7小工具“中国天气”v1.5.9.1
2011-09-02
x200中文拆机手册.pdf
2011-08-08
flashplayer11_b1_install_win_ie32_071311
2011-08-05
AES加密java代码
2011-07-27
FusionMaps 正式破解版 卷二
2011-07-06
FusionMaps 正式破解版 卷一
2011-07-06
内容协作平台TRS WCM 6.5.pdf
2011-06-23
Ext3.2中文API(最终版)
2011-06-22
lucene3.0 jar包+api
2011-06-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人