lucene学习——索引的建立

信息检索的过程分为以下几个步骤:

1、构建文本库;在开发检索功能钱,首先要构建一个文本数据库,这个数据库用来保存用户可能检索的信息。搜索引擎的文本库是

web文本库,通过网络爬虫从WWW中把所需的web获取到,构建成web库。

2、建立索引;有了基本的web库之后,根据web库建立索引。索引能够大大提高信息检索的速度。如百度、google等搜索引擎均采

用倒排的方式来建立索引

3、进行搜索

4、对结果进行过滤。将用户搜索到的结果按照一定的规则进行过滤或排序,在返回给用户。

 

本文是总结怎样学习利用lucene建立索引。

lucene的索引过程是从IndexWriter的addDocument开始,addDocument可以为已经建立好的Document建立索引。例如示例:

IndexWriter writer=new IndexWriter(INDEX_STORE_PATH,new MMAnalyzer(),true);
		File filesDir=new File(inputDir);
		File[] files=filesDir.listFiles();
		//遍历数组
		for(int i=0;i<files.length;i++){
			String fileName=files[i].getName();
			if(fileName.substring(fileName.lastIndexOf(".")).equals(".txt")){
				Document doc=new Document();
				Field field=new Field("filename",files[i].getName(),
						Field.Store.YES,Field.Index.TOKENIZED);
				doc.add(field);
				field=new Field("content",loadFileToString(files[i]),
						Field.Store.NO,Field.Index.TOKENIZED);
				doc.add(field);
				writer.addDocument(doc);
				
			}
		}
		writer.close();


Document含义为文档,代表一种逻辑文件。lucene本身无法对物理文件进行索引,只能识别并处理Document类型的文件。

所以在建立索引时,可以将每一个Document与一个物理文件进行对应,用一个Document来代替一个物理文件。也可以从

不同的物理文件中抽取数据源,放在一个Document中。

而在Document中,数据源是通过Field进行汇集的,一个数据源由一个Field类表示。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值