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

Lucene SimpleAnalyzer類(lèi)

此分析器分割在基于非字母字符的文檔的文本,然后小寫(xiě)它們。

類(lèi)聲明

以下是org.apache.lucene.analysis.SimpleAnalyzer類(lèi)的聲明:

public final class SimpleAnalyzer
   extends ReusableAnalyzerBase

類(lèi)的構(gòu)造函數(shù)

S.N. 構(gòu)造函數(shù)和說(shuō)明
1 SimpleAnalyzer()
不推薦使用。使用SimpleAnalyzer(版本)代替
2 SimpleAnalyzer(Version matchVersion)
創(chuàng)建一個(gè)新的SimpleAnalyzer

類(lèi)方法

S.N. 方法 & 描述
1 protected ReusableAnalyzerBase.TokenStreamComponents createComponents(String fieldName, Reader reader)
創(chuàng)建此analyzer的新ReusableAnalyzerBase.TokenStreamComponents實(shí)例。

方法繼承

這個(gè)類(lèi)從以下類(lèi)繼承的方法:

  • org.apache.lucene.analysis.ReusableAnalyzerBase

  • org.apache.lucene.analysis.Analyzer

  • java.lang.Object

使用

private void displayTokenUsingSimpleAnalyzer() throws IOException{
   String text = "Lucene is simple yet powerful java based search library.";
   Analyzer analyzer = new SimpleAnalyzer(Version.LUCENE_36);
   TokenStream tokenStream = analyzer.tokenStream(
      LuceneConstants.CONTENTS,
      new StringReader(text));
   TermAttribute term = tokenStream.addAttribute(TermAttribute.class);
   while(tokenStream.incrementToken()) {
      System.out.print("[" + term.term() + "] ");
   }
}

應(yīng)用程序示例

讓我們創(chuàng)建一個(gè)測(cè)試Lucene的應(yīng)用程序中使用BooleanQuery測(cè)試搜索。

步驟 描述
1 創(chuàng)建下名稱(chēng)為L(zhǎng)uceneFirstApplication的一個(gè)項(xiàng)目作為解釋Lucene的應(yīng)用在包packagecom.yiibai.lucene下,在第一個(gè)應(yīng)用程序的篇章。也可以使用Lucene創(chuàng)建的項(xiàng)目理解搜索過(guò)程。
2 創(chuàng)建LuceneConstants.java作為L(zhǎng)ucene的解釋- 第一應(yīng)用程序一章。保持其它的文件不變。
3 創(chuàng)建LuceneTester.java如下所述。
4 清理和構(gòu)建應(yīng)用程序,以確保業(yè)務(wù)邏輯按要求工作。

LuceneConstants.java

這個(gè)類(lèi)是用來(lái)提供可應(yīng)用于示例應(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;
}

LuceneTester.java

這個(gè)類(lèi)是用來(lái)測(cè)試Lucene庫(kù)的搜索能力。

package com.yiibai.lucene;

import java.io.IOException;
import java.io.StringReader;

import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.SimpleAnalyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.TermAttribute;
import org.apache.lucene.util.Version;

public class LuceneTester {
	
   public static void main(String[] args) {
      LuceneTester tester;

      tester = new LuceneTester();
   
      try {
         tester.displayTokenUsingSimpleAnalyzer();
      } catch (IOException e) {
         e.printStackTrace();
      }
   }

   private void displayTokenUsingSimpleAnalyzer() throws IOException{
      String text = 
         "Lucene is simple yet powerful java bas