Lucene整理--索引的搜索

看lucene主页(http://lucene.apache.org/)上目前lucene已经到4.9.0版本了, 参考学习的书是按照2.1版本讲解的,写的代码例子是用的3.0.2版本的,版本

的不同导致有些方法的使用差异,但是大体还是相同的。

源代码用到的jar包(3.0.2版本)下载地址

参考资料:

1、公司内部培训资料

2、《Lucene搜索引擎开发权威经典》于天恩著.

Lucene使用挺简单的,耐心看完都能学会,还有源代码。


索引的创建一文中介绍了创建Lucene索引的基本方法。索引建好以后,就可以执行搜索了。执行搜索的过程就是:将用户输入的关键字进行处理,从而得到搜索结果。

使用Lucene执行搜索,首先要创建IndexSearcher对象,然后通过Term和Query对象来封装用户输入的搜索条件,最后将结果封装在Hits对象中,返回给用户。

本文主要要介绍Query对象的几个子类给我们提供的不同的搜索方法。

indexSearcher.search(Query q):这个方法是对索引进行检索,是整个检索系统的核心。  其中q是Query对象的子类

首先为下面几个实例提前创建一个索引:

import java.io.File;
import java.io.IOException;

import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.SimpleFSDirectory;
import org.apache.lucene.util.Version;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
/**
 * 创建一个索引
 * 
 * @author Administrator
 * 
 */
public class CreateLuceneIndex {
	private static String Brazil = "唯一参加过此前全部19届世界杯决赛圈的球队,世界足坛真正的王者,"
			+ "5次夺得世界杯桂冠。上次夺魁是2002年的韩日世界杯,由3R(罗纳尔多、罗纳尔迪尼奥、里瓦尔多)"
			+ "领衔的桑巴舞者倾倒东亚乃至整个世界,以7战全胜的战绩轻松登顶。上届世界杯,前队长邓加执教"
			+ "的巴西八强战1-2不敌荷兰。本届世界杯作为东道主的他们自动晋级决赛圈。该队主帅恰好是率队夺"
			+ "得韩日世界杯桂冠的斯科拉里,去年年底他临危受命,代替梅内塞斯,再度执教桑巴军团。球队头牌"
			+ "是今夏刚刚登陆巴萨的内马尔,蒂亚戈-席尔瓦、阿尔维斯、奥斯卡、胡尔克等名将在阵。世界杯最好战绩"
			+ ":冠军(1958、1962、1970、1994、2002)";
	private static String Argentina = "此前15次参赛,4次进入决赛,在1978年及1986年两次夺冠。上届南非世界杯,"
			+ "他们在八强战耻辱性地被德国4球横扫。本次世预赛,阿根廷取得9胜5平2负的战绩,以32分拿到南美区头名。"
			+ "该队主帅是2011年接过教鞭的萨维利亚,曾经常年担任帕萨雷拉助教的他2009年才开启主帅生涯,率大学生夺"
			+ "得解放者杯是其巅峰。探戈军团的王牌无疑是梅西,完成过金球奖四连庄的他要想成为真正意义上的球王,必须"
			+ "率队拿下世界杯桂冠,阿奎罗、伊瓜因、马斯切拉诺等名将将是梅西最可倚重的助手。"
			+ "世界杯最好战绩:冠军(1978、1986)";
	private static String Holland = "此前9次参赛,3次杀进决赛圈,但均屈居亚军。上届南非世界杯,他们只是加时赛惜"
			+ "败西班牙。此次世预赛,橙军与罗马尼亚、匈牙利、土耳其、爱沙尼亚以及安道尔同组,取得9胜1平的战绩,是"
			+ "欧洲区首支晋级决赛阶段的球队。该队主帅是二进宫的前巴萨及拜仁名帅范加尔,他也是让橙军迅速走出去年欧洲"
			+ "杯惨败低谷的关键人物。队内拥有范佩西、罗本、斯内德、范德法特等中前场名将,若能做好防守,橙军有望在巴"
			+ "西再创佳绩。世界杯最好战绩:亚军(1974、1978、2010)";
	private static String Spain = "此前13次出战世界杯,1950年获得殿军,上届淘汰赛连克葡萄牙、巴拉圭、德国以及荷兰,"
			+ "最终捧得世界杯桂冠,也成为首支在非欧洲大陆夺冠的欧洲球队。巴西世界杯预选赛,西班牙与法国、芬兰、格鲁"
			+ "吉亚及白俄罗斯同组,取得6胜2平的不败战绩,以小组头名晋级。该队由冠军教头博斯克坐镇,后场拥有卡西利亚"
			+ "斯、皮克、拉莫斯等强将,中场有哈维、伊涅斯塔、布斯克茨、阿隆索等世界级球员,前场也有席尔瓦、马塔、迭"
			+ "戈.科斯塔、托雷斯、略伦特等大牌。今年的联合会杯,他们决赛0-3不敌东道主巴西。世界杯最好战绩:冠军(2010)";
	private static String France = "此前13次参赛,最好成绩是1998年在本土举办的世界杯上折桂,其中决赛3-0轻取巴西。此次"
			+ "世预赛,他们与西班牙、格鲁吉亚、芬兰以及白俄罗斯同组,取得5胜2平1负的战绩,以小组第二身份出战附加赛,总"
			+ "比分3-2惊险逆转乌克兰晋级。该队主帅是率队捧得世界杯的前队长德尚。阵中头牌无疑是今年的欧洲最佳球员及金球奖"
			+ "大热里贝里,科斯切尔尼、吉鲁、本泽马等球员也声名赫赫。世界杯最好战绩:冠军(1998)";

	private static String Italy = "此前19届世界杯仅两次缺席决赛阶段,4次夺冠的成绩仅次于巴西,2006年在现任恒大主帅里皮的"
			+ "率领下登顶,但上届却折戟小组赛。此次世预赛,意大利与保加利亚、马耳他、亚美尼亚、丹麦以及捷克同组,以6胜4平"
			+ "的不败战绩拿到小组头名。该队主帅是前佛罗伦萨名帅普兰德利,2010年世界杯后接过教鞭。布冯、德罗西以及皮尔洛仍"
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值