- 浏览: 82610 次
- 性别:
- 来自: 江西
最新评论
-
115646002:
我请问个问题:
我在配置eclipse3.6的时候,应该是某一 ...
eclipse 3.6 Helios 最新插件 -
xangqun:
是啊,不过真的很好用
tomcat插件与Jrebel插件整合(java web开发利器) -
freecode:
jrebel收费吧
tomcat插件与Jrebel插件整合(java web开发利器) -
lydawen:
开发js相当不错的插件 aptana - http://upd ...
eclipse3.5 Galileo最新实用插件 -
hszhl:
eclipse{wtp+cdt+ve#/windowBuild ...
eclipse3.5 Galileo最新实用插件
文章列表
这几天写了个ssh2分页实现,放到博客里留个记号,先贴代码有空再写说明了
struts2自定义标签实现
package com.xangqun.tag;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.components.Component;
import org.apache.struts2.views.jsp.ComponentTagSupport;
import com.op ...
这几天写了个ssh2分页实现,放到博客里留个记号,先贴代码有空再写说明了
spring配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jee="http://www.springframework.or ...
这几天写了个ssh2分页实现,放到博客里留个记号,先贴代码有空再写说明了
@Entity(name="t_person")
public class Person implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
@Column(length=50,name="p_name")
pr ...
http://pan.baidu.com/netdisk/beinvited?invite_code=004d27c9d2e4e177ce64cbab77f5d504
http://pan.baidu.com/netdisk/beinvited?invite_code=48bcdaaecd1ebd5e8e318efd47ac211b
http://pan.baidu.com/netdisk/beinvited?invite_code=7e0328e9bd3d6e9d1a7d8b9a0af14bfc
http://pan.baidu.com/netdi ...
工欲善其事必先利其器
tomcat插件是没装myeclipse插件必备的,它减少了部署工程的时间和硬盘空间。使用方便,上手非常容易。为web开发必备。
tomcat插件的下载地址: http://www.eclipsetotale.com/tomcatPlugin.html
最新版本支持tomcat7,能在运行主流的eclipse3.X中。
把下载到的文件解压到eclipse/dropins 目录下,启动eclipse即可看到效果。
eclipse 3.6 helios 发布有半年了,更新下常用的插件
java decompile:http://java.decompiler.free.fr/jd-eclipse/update/还有一些不错的插件推荐下,本人亲自测试保证有用: svn插件插件 subversive- http://download.eclipse.org/technology/subversive/0.7/update-site/
服务器 jetty6插件 - http://www.webtide.com/eclipse
maven2插件 -http://m2eclipse.son ...
1、抽象类Analyzer
其主要包含两个接口,用于生成TokenStream:
TokenStream tokenStream(String fieldName, Reader reader);
TokenStream reusableTokenStream(String fieldName, Reader reader) ;
所谓TokenStream,后面我们会讲到,是一个由分词后的Token结果组成的流,能够不断的得到下一个分成的Token。
为了提高性能,使得在同一个线程中无需再生成新的TokenStream对象,老的可以被重用,所以有reusableTokenStr ...
6、FilteredQuery
FilteredQuery包含两个成员变量:
Query query:查询对象
Filter filter:其有一个函数DocIdSet getDocIdSet(IndexReader reader) 得到一个文档号集合,结果文档必须出自此文档集合,注此处的过滤器所包含的文档号并不是要过滤 ...
5、SpanQuery
所谓SpanQuery也即在查询过程中需要考虑进Term的位置信息的查询对象。
SpanQuery中最基本的是SpanTermQuery,其只包含一个Term,与TermQuery所不同的是,其提供一个函数来得到位置信息:
public Spans getSpans(final IndexReader reader) throws IOException {
return new TermSpans(reader.termPositions(term), term);
}
Spans有以下方法:
next() 得到下一篇文档号,不同的Sp ...
Lucene除了支持查询语法以外,还可以自己构造查询对象进行搜索。
从上一节的Lucene的语法一章可以知道,能与查询语句对应的查询对象有:BooleanQuery,FuzzyQuery,MatchAllDocsQuery,MultiTermQuery,MultiPhraseQuery,PhraseQuery,PrefixQuery,TermRangeQuery,TermQuery,WildcardQuery。
Lucene还支持一些查询对象并没有查询语句与之对应,但是能够实现相对高级的功能,本节主要讨论这些高级的查询对象。
它们中间最主要的一些层次结构如下,我们将一一解析。
...
三、解析QueryParser.jj
3.1、声明QueryParser类
在QueryParser.jj文件中,PARSER_BEGIN(QueryParser)和PARSER_END(QueryParser)之间,定义了QueryParser类。
其中最重要的一个函数是public Query parse(String query)函数,也即我们解析Lucene查询语法的时候调用的函数。
这是一个纯Java代码定义的函数,会直接拷贝到QueryParser.java文件中。
parse函数中,最重要的一行代码是调用Query res = TopLevelQuery(field ...
一、Lucene的查询语法
Lucene所支持的查询语法可见http://lucene.apache.org/java/3_0_1/queryparsersyntax.html
(1) 语法关键字
+ - && || ! ( ) { } [ ] ^ " ~ * ? : \
如果所要查询的查询词中本身包含关键字,则需要用\进行转义
(2) 查询词(Term)
Lucene支持两种查询词,一种是单一查询词,如"hello",一种是词组(phrase),如"hello world"。
(3) 查询域(Field)
在查询 ...
2.4、搜索查询对象
2.4.4、收集文档结果集合及计算打分
在函数IndexSearcher.search(Weight, Filter, int) 中,有如下代码:
TopScoreDocCollector collector = TopScoreDocCollector.create(nDocs, !weight.scoresDocsOutOfOrder());
search(weight, filter, collector);
return collector.topDocs();
2.4.4.1、创建结果文档收集器
TopScoreDocCollecto ...
2.4、搜索查询对象
2.4.3.2、并集DisjunctionSumScorer(A OR B)
DisjunctionSumScorer中有成员变量List<Scorer> subScorers,是一个Scorer的链表,每一项代表一个倒排表,DisjunctionSumScorer就是对这些倒排表取并集,然后将并集中的文档号在nextDoc()函数中依次返回。
DisjunctionSumScorer还有一个成员变量minimumNrMatchers,表示最少需满足的子条件的个数,也即subScorer中,必须有至少minimumNrMatchers个Sco ...
2.4、搜索查询对象
2.4.3、进行倒排表合并
在得到了Scorer对象树以及SumScorer对象树后,便是倒排表的合并以及打分计算的过程。
合并倒排表在此节中进行分析,而Scorer对象树来进行打分的计算则在下一节分析。
BooleanScorer2.score(Collector) 代码如下:
public void score(Collector collector) throws IOException {
collector.setScorer(this);
while ((doc = countingSumScorer.nextDoc()) ...