Lucene - StopAnalyzer

Este analizador funciona de manera similar a SimpleAnalyzer y elimina las palabras comunes como 'a', 'an', 'the', etc.

Declaración de clase

A continuación se muestra la declaración de org.apache.lucene.analysis.StopAnalyzer clase -

public final class StopAnalyzer
   extends StopwordAnalyzerBase

Campos

A continuación se muestran los campos de la clase org.apache.lucene.analysis.StopAnalyzer:

  • static Set<?> ENGLISH_STOP_WORDS_SET - Un conjunto no modificable que contiene algunas palabras comunes en inglés que no suelen ser útiles para realizar búsquedas.

Constructores de clases

La siguiente tabla muestra los diferentes constructores de clases:

S.No. Constructor y descripción
1

StopAnalyzer(Version matchVersion)

Construye un analizador que elimina palabras en ENGLISH_STOP_WORDS_SET.

2

StopAnalyzer(Version matchVersion, File stopwordsFile)

Construye un analizador con las palabras vacías del archivo dado.

3

StopAnalyzer(Version matchVersion, Reader stopwords)

Construye un analizador con las palabras vacías del lector dado.

4

StopAnalyzer(Version matchVersion, Set<?> stopWords)

Construye un analizador con las palabras vacías del conjunto dado.

Métodos de clase

La siguiente tabla muestra los diferentes métodos de clase:

S.No. Método y descripción
1

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

Crea un nuevo ReusableAnalyzerBase.TokenStreamComponents utilizado para tokenizar todo el texto en el Reader proporcionado.

Métodos heredados

Esta clase hereda métodos de las siguientes clases:

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

Uso

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() + "] ");
   }
}

Aplicación de ejemplo

Creemos una aplicación de prueba de Lucene para probar la búsqueda usando BooleanQuery.

Paso Descripción
1 Cree un proyecto con un nombre LuceneFirstApplication en un paquete com.tutorialspoint.lucene como se explica en el capítulo Lucene - Primera aplicación . También puede utilizar el proyecto creado en Lucene - Capítulo Primera aplicación como tal para este capítulo para comprender el proceso de búsqueda.
2 Cree LuceneConstants.java como se explica en el capítulo Primera aplicación de Lucene . Mantenga el resto de los archivos sin cambios.
3 Cree LuceneTester.java como se menciona a continuación.
4 Limpie y compile la aplicación para asegurarse de que la lógica empresarial funcione según los requisitos.

LuceneConstants.java

Esta clase se utiliza para proporcionar varias constantes que se utilizarán en la aplicación de muestra.

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

Esta clase se utiliza para probar la capacidad de búsqueda de la biblioteca 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() + "] ");
      }
   }
}

Ejecutando el programa

Una vez que haya terminado con la creación de la fuente, puede proceder compilando y ejecutando su programa. Para hacer esto, mantenga elLuceneTester.Java pestaña de archivo activa y use la opción Ejecutar disponible en el IDE de Eclipse o use Ctrl + F11 para compilar y ejecutar su LuceneTestersolicitud. Si su aplicación se ejecuta correctamente, imprimirá el siguiente mensaje en la consola de Eclipse IDE:

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