Lucene - StopAnalyzer

Questo analizzatore funziona in modo simile a SimpleAnalyzer e rimuove le parole comuni come "a", "an", "the", ecc.

Dichiarazione di classe

Di seguito è riportata la dichiarazione per il org.apache.lucene.analysis.StopAnalyzer classe -

public final class StopAnalyzer
   extends StopwordAnalyzerBase

Campi

Di seguito sono riportati i campi per la classe org.apache.lucene.analysis.StopAnalyzer -

  • static Set<?> ENGLISH_STOP_WORDS_SET - Un insieme non modificabile contenente alcune parole inglesi comuni che di solito non sono utili per la ricerca.

Costruttori di classi

La tabella seguente mostra i diversi costruttori di classi:

S.No. Costruttore e descrizione
1

StopAnalyzer(Version matchVersion)

Crea un analizzatore che rimuove le parole in ENGLISH_STOP_WORDS_SET.

2

StopAnalyzer(Version matchVersion, File stopwordsFile)

Costruisce un analizzatore con le parole chiave del file specificato.

3

StopAnalyzer(Version matchVersion, Reader stopwords)

Costruisce un analizzatore con le parole chiave del lettore fornito.

4

StopAnalyzer(Version matchVersion, Set<?> stopWords)

Costruisce un analizzatore con le parole chiave del set dato.

Metodi di classe

La tabella seguente mostra i diversi metodi di classe:

S.No. Metodo e descrizione
1

protected Reusable Analyzer Base. Token Stream Components create Components (String field Name, Reader reader)

Crea un nuovo ReusableAnalyzerBase.TokenStreamComponents usato per tokenizzare tutto il testo nel Reader fornito.

Metodi ereditati

Questa classe eredita i metodi dalle seguenti classi:

  • org.apache.lucene.analysis.StopwordAnalyzerBase
  • org.apache.lucene.analysis.ReusableAnalyzerBase
  • org.apache.lucene.analysis.Analyzer
  • java.lang.Object

Utilizzo

private void displayTokenUsingStopAnalyzer() throws IOException {
   String text 
      = "Lucene is simple yet powerful java based search library.";
   Analyzer analyzer = new StopAnalyzer(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() + "] ");
   }
}

Applicazione di esempio

Creiamo un'applicazione Lucene di prova per testare la ricerca utilizzando BooleanQuery.

Passo Descrizione
1 Creare un progetto con un nome LuceneFirstApplication sotto un pacchetto com.tutorialspoint.lucene come spiegato nel capitolo Lucene - Prima applicazione . È inoltre possibile utilizzare il progetto creato nel capitolo Lucene - Prima applicazione come tale per questo capitolo per comprendere il processo di ricerca.
2 Creare LuceneConstants.java come spiegato nel capitolo Lucene - Prima applicazione . Mantieni invariato il resto dei file.
3 Crea LuceneTester.java come indicato di seguito.
4 Pulisci e crea l'applicazione per assicurarti che la logica di business funzioni secondo i requisiti.

LuceneConstants.java

Questa classe viene utilizzata per fornire varie costanti da utilizzare nell'applicazione di esempio.

package com.tutorialspoint.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

Questa classe viene utilizzata per testare la capacità di ricerca della libreria Lucene.

package com.tutorialspoint.lucene;

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

import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.StopAnalyzer;
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.displayTokenUsingStopAnalyzer();
      } catch (IOException e) {
         e.printStackTrace();
      }
   }

   private void displayTokenUsingStopAnalyzer() throws IOException {
      String text 
         = "Lucene is simple yet powerful java based search library.";
      Analyzer analyzer = new StopAnalyzer(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() + "] ");
      }
   }
}

Esecuzione del programma

Una volta che hai finito con la creazione del sorgente, puoi procedere compilando ed eseguendo il tuo programma. Per fare ciò, tieni il fileLuceneTester.Java scheda file attiva e utilizzare l'opzione Esegui disponibile nell'IDE Eclipse o utilizzare Ctrl + F11 per compilare ed eseguire il tuo LuceneTesterapplicazione. Se l'applicazione viene eseguita correttamente, stamperà il seguente messaggio nella console di Eclipse IDE:

[lucene] [simple] [yet] [powerful] [java] [based] [search] [library]