• 大小: 1.56MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-16
  • 语言: Java
  • 标签: 检索  

资源简介

使用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个文件信息

评论

共有 条评论