• 大小: 3.71MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-16
  • 语言: 其他
  • 标签: Lucene  全文检索  

资源简介

Lucene5.2.1 入门学习例子. 这是别人的例子源码,原下载是要积分的. 所以上传在这免积分.

资源截图

代码片段和文件信息

package com.sampleLucene;

import java.io.BufferedReader;  
import java.io.File;  
import java.io.FileInputStream;  
import java.io.IOException;  
import java.io.InputStreamReader;  
import java.nio.file.Paths;
import java.util.Date;  
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.StringField;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.IndexWriter;  
import org.apache.lucene.index.IndexWriterConfig;  
import org.apache.lucene.index.IndexWriterConfig.OpenMode;  
import org.apache.lucene.store.Directory;  
import org.apache.lucene.store.FSDirectory;  
        
    public class TestFileIndexer {    
        public static void main(String[] args) throws Exception {    
            /* 指明要索引文件夹的位置这里是C盘的source文件夹下 */    
           File fileDir = new File(“C:\\source“);    
        
            /* 这里放索引文件的位置 */    
            //File indexDir = new File(“c:\\index“); 
            String indexPath = “c:\\index“;
            
            // Directory dir = FSDirectory.open(indexDir);    //v3.6.0
            Directory dir = FSDirectory.open(Paths.get(indexPath));  
            
            //Analyzer luceneAnalyzer = new StandardAnalyzer(Version.LUCENE_3_6_0); 
            Analyzer luceneAnalyzer = new StandardAnalyzer();
            IndexWriterConfig iwc = new IndexWriterConfig(luceneAnalyzer);  
            iwc.setOpenMode(OpenMode.CREATE);  
            IndexWriter indexWriter = new IndexWriter(diriwc);    
            File[] textFiles = fileDir.listFiles();    
            long startTime = new Date().getTime();    
                
            //增加document到索引去    
            for (int i = 0; i < textFiles.length; i++) {    
                if (textFiles[i].isFile()    
                       ) {    
                    System.out.println(“File “ + textFiles[i].getCanonicalPath()    
                            + “正在被索引....“);    
                    String temp = FileReaderAll(textFiles[i].getCanonicalPath()    
                            “GBK“);    
                    System.out.println(temp);    
                    Document document = new Document();    
                  //  Field FieldPath = new Field(“path“ textFiles[i].getPath() Field.Store.YES Field.Index.NO);   //v3.6.0的写法   
                   // Field FieldBody = new Field(“body“ temp Field.Store.YES  Field.Index.ANALYZED  Field.TermVector.WITH_POSITIONS_OFFSETS);    
                  
                    Field FieldPath = new StringField(“path“ textFiles[i].getPath() Field.Store.YES);
                    Field FieldBody = new TextField(“body“ temp Field.Store.YES);    
                    document.add(FieldPath);    
                    document.add(FieldBody);    
                    indexWriter.addD

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件     1553733  2015-07-02 16:08  lucene5.2.1入门经典案例\lucene-analyzers-common-5.2.1.jar
     文件     2346253  2015-07-02 16:06  lucene5.2.1入门经典案例\lucene-core-5.2.1.jar
     文件      400198  2015-07-02 16:39  lucene5.2.1入门经典案例\lucene-queryparser-5.2.1.jar
     目录           0  2015-07-03 10:37  lucene5.2.1入门经典案例\sampleLucene\
     文件        4191  2015-07-03 10:33  lucene5.2.1入门经典案例\sampleLucene\TestFileIndexer.java
     文件        2779  2015-07-03 10:35  lucene5.2.1入门经典案例\sampleLucene\TestQuery.java
     文件         593  2015-07-03 10:50  lucene5.2.1入门经典案例\读我!.txt
     目录           0  2015-07-03 10:50  lucene5.2.1入门经典案例\

评论

共有 条评论