资源简介
使用java技术的全文检索,企业级应用,很不错啊,哈哈哈哈
代码片段和文件信息
package com.zyt.lucene;
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.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.Field.Index;
import org.apache.lucene.document.Field.Store;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.queryParser.MultiFieldQueryParser;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
import org.junit.Test;
public class Lucene01 {
String filePath = “E:\\Workspaces\\MyEclipse 9\\lucene_demo01\\resource\\my.txt“;
String indexPath = “E:\\Workspaces\\MyEclipse 9\\lucene_demo01\\lucenIndex“;
Analyzer analyzer = new StandardAnalyzer();
@Test
public void createIndex() throws Exception {
File resourceFile = new File(filePath);
/*
Document doc = getDocument(resourceFile);
IndexWriter indexWriter = new IndexWriter(indexPath analyzer true);
*/
Directory dir = FSDirectory.getDirectory(indexPath) ;
Document doc = getDocument(resourceFile);
IndexWriter indexWriter = new IndexWriter(dir analyzer true);
indexWriter.addDocument(doc);
indexWriter.close();
}
@Test
public void search() throws Exception {
String queryString = “example“;
String[] fields = { “name“ “content“ };
QueryParser queryParser = new MultiFieldQueryParser(fields analyzer);
Query query = queryParser.parse(queryString);
IndexSearcher indexSearcher = new IndexSearcher(indexPath);
TopDocs topDocs = indexSearcher.search(query null 10000);
System.out.println(“总共有【“ + topDocs.totalHits + “】条匹配结果“);
for (ScoreDoc scoreDoc : topDocs.scoreDocs) {
int docSn = scoreDoc.doc; // 文档内部编号
Document searchResultDoc = indexSearcher.doc(docSn); // 根据文档内部编号取出相应的文档
print(searchResultDoc);
}
}
private static Document getDocument(File file) throws IOException {
Document document = new Document();
document.add(new Field(“name“ file.getName() Store.YES Index.TOKENIZED));
document.add(new Field(“content“ readFile(file) Store.YES Index.TOKENIZED));
document.add(new Field(“size“ String.valueOf(file.length()) Store.YES Index.NO));
document.add(new Field(“path“ file.getAbsolutePath() Store.YES Index.NO));
return document;
}
private static String readFile(File file)throws IOException{
StringBuffer buff = new StringBuffer();
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
String temp = ““;
while ((temp = reader.readLine()) !=
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 28060 2011-11-17 17:17 jive中的全文检索\jive中的全文检索.mmap
文件 952712 2011-11-18 09:13 jive中的全文检索\jive中的全文检索.pptx
文件 583 2011-11-15 15:49 jive中的全文检索\lucene_demo01\.classpath
文件 389 2011-11-15 14:58 jive中的全文检索\lucene_demo01\.project
文件 629 2011-11-15 14:58 jive中的全文检索\lucene_demo01\.settings\org.eclipse.jdt.core.prefs
文件 5391 2011-11-18 09:09 jive中的全文检索\lucene_demo01\bin\com\zyt\lucene\Lucene01.class
文件 80222 2011-11-15 15:00 jive中的全文检索\lucene_demo01\lib\lucene-analyzers-2.3.0.jar
文件 664675 2011-11-15 14:59 jive中的全文检索\lucene_demo01\lib\lucene-core-2.3.0.jar
文件 28499 2011-11-15 15:00 jive中的全文检索\lucene_demo01\lib\lucene-highlighter-2.3.0.jar
文件 20 2011-11-15 17:13 jive中的全文检索\lucene_demo01\lucenIndex\segments.gen
文件 45 2011-11-15 17:13 jive中的全文检索\lucene_demo01\lucenIndex\segments_3
文件 2630 2011-11-15 17:13 jive中的全文检索\lucene_demo01\lucenIndex\_0.cfs
文件 1203 2011-11-15 15:03 jive中的全文检索\lucene_demo01\resource\my.txt
文件 4285 2011-11-18 09:09 jive中的全文检索\lucene_demo01\src\com\zyt\lucene\Lucene01.java
目录 0 2011-11-18 09:09 jive中的全文检索\lucene_demo01\bin\com\zyt\lucene
目录 0 2011-11-18 09:09 jive中的全文检索\lucene_demo01\src\com\zyt\lucene
目录 0 2011-11-18 09:09 jive中的全文检索\lucene_demo01\bin\com\zyt
目录 0 2011-11-18 09:09 jive中的全文检索\lucene_demo01\src\com\zyt
目录 0 2011-11-18 09:09 jive中的全文检索\lucene_demo01\bin\com
目录 0 2011-11-18 09:09 jive中的全文检索\lucene_demo01\src\com
目录 0 2011-11-18 09:09 jive中的全文检索\lucene_demo01\.settings
目录 0 2011-11-18 09:09 jive中的全文检索\lucene_demo01\bin
目录 0 2011-11-18 09:09 jive中的全文检索\lucene_demo01\lib
目录 0 2011-11-18 09:09 jive中的全文检索\lucene_demo01\lucenIndex
目录 0 2011-11-18 09:09 jive中的全文检索\lucene_demo01\resource
目录 0 2011-11-18 09:09 jive中的全文检索\lucene_demo01\src
目录 0 2011-11-18 09:09 jive中的全文检索\lucene_demo01
目录 0 2011-11-18 09:13 jive中的全文检索
----------- --------- ---------- ----- ----
1769343 28
............此处省略1个文件信息
- 上一篇:java实现流量控制流量控制
- 下一篇:基于JSP和mysql的火车票售票系统
相关资源
- lucene全文检索需要jar包
- 百度地图检索开发
- java+mysql实现的检索大作业
- android自定义View之仿通讯录侧边栏滑动
- Lucene实现小型信息检索系统
- TRS全文检索开发文档及API,工具包
- Android百度地图的搜索及附近地址的检
- 基于javacv和SSI框架的图像检索系统
- Android ListView自动检索
- elasticSearch2.3.5+对应版本的ik分词器+
- 百度地图步行导航+POI检索+Suggestion提
- 基于内容的图像检索Java实现相当易懂
- lucene检索代码,自己总结的非常详细
- Android:利用EditText和ListView 实现动态
- 一个Java实现的基于内容的图像检索工
- lucene对txt文件做全文检索源码
- java实现的简单的按照文件名检索文件
-
图书馆信息检索系统JAVA+xm
l - Android 汉字字母检索
- Java 使用视图重新格式化检索出来的数
- Android 带字母检索的全国城市列表(
- 航班信息查询与检索(java)
- android联系人带字母检索源码
- wifiMAC信息检索及IP地址经纬度信息查
- 百度地图源码:地图图层展示,覆盖
评论
共有 条评论