Lucene - StopAnalyzer
Este analisador funciona de forma semelhante ao SimpleAnalyzer e remove as palavras comuns como 'um', 'uma', 'o', etc.
Declaração de Classe
A seguir está a declaração para o org.apache.lucene.analysis.StopAnalyzer classe -
public final class StopAnalyzer
extends StopwordAnalyzerBase
Campos
A seguir estão os campos para a classe org.apache.lucene.analysis.StopAnalyzer -
static Set<?> ENGLISH_STOP_WORDS_SET - Um conjunto não modificável contendo algumas palavras comuns em inglês que geralmente não são úteis para pesquisa.
Construtores de classe
A tabela a seguir mostra os diferentes construtores de classes -
S.No. | Construtor e descrição |
---|---|
1 | StopAnalyzer(Version matchVersion) Constrói um analisador que remove palavras em ENGLISH_STOP_WORDS_SET. |
2 | StopAnalyzer(Version matchVersion, File stopwordsFile) Constrói um analisador com as palavras de parada do arquivo fornecido. |
3 | StopAnalyzer(Version matchVersion, Reader stopwords) Constrói um analisador com as palavras de parada do leitor fornecido. |
4 | StopAnalyzer(Version matchVersion, Set<?> stopWords) Constrói um analisador com as palavras de parada do conjunto fornecido. |
Métodos de aula
A tabela a seguir mostra os diferentes métodos de classe -
S.No. | Método e Descrição |
---|---|
1 | protected Reusable Analyzer Base. Token Stream Components create Components (String field Name, Reader reader) Cria um novo ReusableAnalyzerBase.TokenStreamComponents usado para tokenizar todo o texto no Reader fornecido. |
Métodos herdados
Esta classe herda métodos das seguintes classes -
- 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() + "] ");
}
}
Aplicação de exemplo
Vamos criar um aplicativo de teste Lucene para testar a pesquisa usando BooleanQuery.
Degrau | Descrição |
---|---|
1 | Crie um projeto com um nome LuceneFirstApplication sob um pacote com.tutorialspoint.lucene conforme explicado no capítulo Lucene - Primeiro Aplicativo . Você também pode usar o projeto criado no capítulo Lucene - Primeiro Aplicativo como tal para este capítulo para compreender o processo de pesquisa. |
2 | Crie LuceneConstants.java conforme explicado no capítulo Lucene - Primeiro Aplicativo . Mantenha o resto dos arquivos inalterados. |
3 | Crie LuceneTester.java conforme mencionado abaixo. |
4 | Limpe e crie o aplicativo para garantir que a lógica de negócios esteja funcionando de acordo com os requisitos. |
LuceneConstants.java
Esta classe é usada para fornecer várias constantes a serem usadas no aplicativo de amostra.
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 classe é usada para testar a capacidade de pesquisa da 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() + "] ");
}
}
}
Executando o Programa
Depois de concluir a criação do código-fonte, você pode prosseguir compilando e executando seu programa. Para fazer isso, mantenha oLuceneTester.Java guia de arquivo ativa e use a opção Executar disponível no Eclipse IDE ou use Ctrl + F11 para compilar e executar seu LuceneTesterinscrição. Se o seu aplicativo for executado com êxito, ele imprimirá a seguinte mensagem no console do Eclipse IDE -
[lucene] [simple] [yet] [powerful] [java] [based] [search] [library]