- 0
- 0
- 约6.45千字
- 约 6页
- 2017-03-26 发布于江苏
- 举报
lucene入门索引器及搜索器源码
lucene4.6索引器及搜索器源码
date:2014.1.1
简介:
Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。在Java开发环境里Lucene是一个成熟的免费开源工具。就其本身而言,Lucene是当前以及最近几年最受欢迎的免费Java资讯检索程式库。人们经常提到资讯检索程式库,虽然与搜索引擎有关,但不应该将资讯检索程式库与搜索引擎相混淆package com.lm.IndexTxt;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.cn.smart.SmartChineseAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
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 索引创建
* @author LM
*/
public class Indexer {
private String fieldName;//索引段名称
private String endStr;//问价后缀名称
public Indexer(String fieldName, String endStr){
this.fieldName = fieldName;
this.endStr = endStr;
}
/**
* 创建索引
* @param indexDir 索引创建路径
* @param dataDir 文本保存路径
* @return
* @throws IOException
* @author lm
*/
public int index(File indexDir, File dataDir ) throws IOException {
//数据路径不存在或不是目录
if(!dataDir.exists() || !dataDir.isDirectory()){
throw new IOException(dataDir + does not exist or is not a directory);
}
// 分词器
Analyzer analyzer = new SmartChineseAnalyzer(Version.LUCENE_46,true);
// 索引创建器配置
IndexWriterConfig indexWriterConfig=new IndexWriterConfig(Version.LUCENE_46,analyzer);
// 文件目录
Directory directory = FSDirectory.open(indexDir);
if (IndexWriter.isLocked(directory)) {
IndexWriter.unlock(directory);
}
// 索引创建器
IndexWriter writer = new IndexWriter(directory,indexWriterConfig);
writer.deleteAll();//先全部删除
indexDirectory(writer, dataDir);
int numIndexed = writer.numDocs();
writer.close();
return numIndexed;
}
/**
* 递归查找符合条件的文件
* @param writer
您可能关注的文档
- Java考试参考.doc
- InterQuestAnalyzer.doc
- java程序的控制语言(while).doc
- JDPMLEFluo.doc
- JDQG持续改进管理办法.doc
- JD动力循环水系统操作规程.doc
- JOINTVENTURECONTRACTMANUFACTURING.doc
- JDX期末复习.doc
- JPB便携式溶解氧分析仪.doc
- JTWLDSF系列线型定温火灾探测器安装于变压器动力配电装置上.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)