在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 大數(shù)據(jù)/ Lucene第一個(gè)應(yīng)用程序
Lucene TermRangeQuery類
Lucene排序
Lucene Query類
Lucene搜索操作
Lucene TokenStream
Lucene IndexWriter類
Lucene Term類
Lucene Token
Lucene索引操作
Lucene Field選項(xiàng)
Lucene BooleanQuery類
Lucene StandardAnalyzer類
Lucene字段
Lucene添加文檔操作
Lucene環(huán)境設(shè)置
Lucene Searching類
Lucene StopAnalyzer類
Lucene第一個(gè)應(yīng)用程序
Lucene MatchAllDocsQuery類
Lucene IndexSearcher類
Lucene索引類
Lucene更新文檔操作
Lucene教程
Lucene PrefixQuery類
Lucene Analyzer類
Lucene TopDocs類
Lucene TermQuery類
Lucene文檔
Lucene查詢編程
Lucene WildcardQuery類
Lucene WhitespaceAnalyzer
Lucene SimpleAnalyzer類
Lucene目錄
Lucene刪除文檔操作
Lucene索引過程
Lucene FuzzyQuery類
Lucene PhraseQuery類
Lucene分析

Lucene第一個(gè)應(yīng)用程序

讓我們使用Lucene框架做實(shí)際編程。在開始使用Lucene框架編寫第一個(gè)例子之前,必須確保已經(jīng)安裝Lucene的環(huán)境正常。也假設(shè)有一點(diǎn)點(diǎn)的工作和Eclipse IDE的知識。

因此,開始寫一個(gè)簡單的搜索應(yīng)用程序?qū)⒋蛴≌业剿阉鹘Y(jié)果數(shù)量。我們也看到在這個(gè)過程中創(chuàng)建的索引列表。

第1步 - 創(chuàng)建Java項(xiàng)目:

第一步是使用Eclipse IDE創(chuàng)建一個(gè)簡單的Java項(xiàng)目。按照選項(xiàng) File -> New -> Project 最后選擇 Java Project 從向?qū)Я斜硐驅(qū)А,F(xiàn)在,項(xiàng)目命名為 LuceneFirstApplication 使用向?qū)Т翱?,如下所示?/p> Create Project Wizard

一旦項(xiàng)目成功創(chuàng)建,將有以下內(nèi)容在 Project Explorer:

Lucene First Application Directories

第2步 - 添加必需的庫:

作為第二步,我們添加Lucene核心框架庫在項(xiàng)目中。要做到這一點(diǎn),右鍵單擊項(xiàng)目名稱LuceneFirstApplication然后按照上下文菜單中提供以下選項(xiàng):Build Path -> Configure Build Path,顯示了Java構(gòu)建路徑如下窗口:

Java Build Path

現(xiàn)在,使用添加在庫選項(xiàng)卡中提供外部JAR按鈕,添加Lucene安裝目錄下的核心JAR:

  • lucene-core-3.6.2

第3步 - 創(chuàng)建源文件:

現(xiàn)在,讓我們 LuceneFirstApplication 項(xiàng)目下創(chuàng)建實(shí)際的源文件。首先,我們需要創(chuàng)建一個(gè)名為 com.yiibai.lucene 包。要做到這一點(diǎn),右鍵單擊 src 在包資源管理部分,并按照選項(xiàng):New -> Package.

下一步,我們將創(chuàng)建 LuceneTester.java 和 其他Java類在 com.yiibai.lucene 包下。

LuceneConstants.java

這個(gè)類是用來提供跨示例應(yīng)用程序中使用的各種常量。

package com.yiibai.lucene;

public class LuceneConstants {
   public static final String CONTENTS="contents";
   public static final String FILE_NAME="filename";
   public static final String FILE_PATH="filepath";
   public static final int MAX_SEARCH = 10;
}

TextFileFilter.java

此類用于為 .txt 文件過濾器

package com.yiibai.lucene;

import java.io.File;
import java.io.FileFilter;

public class TextFileFilter implements FileFilter {

   @Override
   public boolean accept(File pathname) {
      return pathname.getName().toLowerCase().endsWith(".txt");
   }
}

Indexer.java

這個(gè)類是用于索引的原始數(shù)據(jù),這樣我們就可以使用Lucene庫,使其可搜索。

package com.yiibai.lucene;

import java.io.File;
import java.io.FileFilter;
import java.io.FileReader;
import java.io.IOException;

import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.CorruptIndexException;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.util.Version;

public class Indexer {

   private IndexWriter writer;

   public Indexer(String indexDirectoryPath) throws IOException{
      //this directory will contain the indexes
      Directory indexDirectory = 
         FSDirectory.open(new File(indexDirectoryPath));

      //create the indexer
      writer = new IndexWriter(indexDirectory, 
         new StandardAnalyzer(Version.LUCENE_36),true,
         IndexWriter.MaxFieldLength.UNLIMITED);
   }

   public void close() throws CorruptIndexException, IOException{
      writer.close();
   }

   private Document getDocument(File file) throws IOException{
      Document document 上一篇:Lucene WildcardQuery類下一篇:Lucene PrefixQuery類