首页,本篇适合对于刚学lucene的朋友们,在这之前笔者还是喜欢啰嗦几句,想要学好一门技术,首先就得从思想层次上全面了解这种技术的作用,适用范围,以及优缺点,对于这些理论,大家可以先在Google,或百度上深入了解一下,也可以到其官方网站上看文档或者WIKI,只有在思想层面上,大概了解这个技术的总体架构,那么学起来,就可以很快上手,举个例子,先“会当凌绝顶”一下,然后在爬山,肯定会容易一些,笔者想说的就是这个道理。
下面就开始进入正题,本篇的入门代码,相对简单,主要是先把lucene添加的Demo给搭建起来,后续的修改,删除,查询会在后面的文章中一一补上,笔者觉得学习这东西还是得脚踏实地一步一步来比较好,只要真真正正理解每一行代码的意思,我们就算有收获了,有时候学习步伐太快,反而会根基不牢,效果不好。
需要准备的Jar包
lucene-core-4.3.1.jar
lucene-analyzers-common-4.3.1.jar
package com.qin;
import java.io.File;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.StringField;
import org.apache.lucene.document.Field.Store;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.util.Version;
/**
* Lucene的演示Demo类
*
* **/
public class CommonLuceneBasic {
/**
* 抽象的父类文件夹
* */
public static Directory directory;
/**
* 返回IndexWriter
* */
public static IndexWriter getWriter() throws Exception{
Analyzer analyzer=new StandardAnalyzer(Version.LUCENE_43);//设置标准分词器 ,默认是一元分词
IndexWriterConfig iwc=new IndexWriterConfig(Version.LUCENE_43, analyzer);//设置IndexWriterConfig
// iwc.setRAMBufferSizeMB(3);//设置缓冲区大小
return new IndexWriter(directory,iwc);
}
/**
* @indexPath 索引存放路径
* **/
public static void add(String indexWriterPath){
IndexWriter writer=null;
try{
directory=FSDirectory.open(new File(indexWriterPath));//打开存放索引的路径
writer=getWriter();
Document doc=new Document();
doc.add(new StringField("id", "1", Store.YES));//存储
doc.add(new StringField("name", "张飞", Store.YES));//存储
doc.add(new StringField("content", "也许放弃,才能靠近你!", Store.YES));//存储
writer.addDocument(doc);//添加进写入流里
writer.forceMerge(1);//优化压缩段,大规模添加数据的时候建议,少使用本方法,会影响性能
writer.commit();//提交数据
System.out.println("添加成功");
}catch(Exception e){
e.printStackTrace();
}finally{
if(writer!=null){
try{
writer.close();//关闭流
}catch(Exception e){
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
String path="E:\\临时索引";
add(path);//调用添加方法
}
}
添加成功之后,我们就可以通过Luke工具,进行索引查看,如果还有不知道Luke工具是什么,或者不知道怎么使用,可以参照我的上一篇日志如何使用luke
http://qindongliang1922.iteye.com/admin/blogs/1913232
分享到:
相关推荐
Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会...
lucene4.3增删改查的的一个工具类,对新手来说是一份不可多得的入门资料。
全文检索lucene 4.3 所用到的3个jar包,包含lucene-queryparser-4.3.0.jar、 lucene-core-4.3.0.jar、lucene-analyzers-common-4.3.0.jar。
lucene4.3 按坐标距离排序,里面写了个简单的例子。运行就行
lucene4.3源代码 censed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information ...
1.XunTa是在lucene4.3上创建的通过“知识点”来找人的搜人引擎。 输入一个关键词(或组合),XunTa返回一个排名列表,排在前面的人是与该关键词(组合)最相关的“达人”。 可访问 http://www.xunta.so立即体验...
使用lucene需要检索时,需要导入jar包,下载全资源文件,进去找就可以
lucene应用开发揭秘 第四讲
基于lucene的开发JavaEE项目 基于lucene的开发JavaEE项目 基于lucene的开发JavaEE项目 基于lucene的开发JavaEE项目 基于lucene的开发JavaEE项目
关于lucene的IKAnalyzer分词器以及与lucene4.3共同使用时发生的问题解决包
Lucene3.4开发入门.pdf
Lucene开发详解.pdf,详细介绍Lucene的开发
Lucene.net开发最全文档 包含英文原api + 中文api
C#+Lucene.Net开发完成的一个自定义WEB搜索引擎,本项目实现了分词、模糊索引,加以Lucene.Net内部核心功能共同实现了搜索机制引擎
lucene2.9开发指南是为了帮助初级开发人员而编写整理的资料,包括了所有的核心技术,希望对大家有帮助
lucene 的开发包6.6
Lucene开发手册
搜索引擎 lucene开发流程介绍,开发全文检索系统,
闲着无聊做的lucene的知识管理,基本的lucene的用法都有。
Lucene搜索引擎开发权威经典(附盘源码)【于天恩】.zip