`

十三、自定义Stop分词器

 
阅读更多

import java.io.Reader;
import java.util.Set;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.LetterTokenizer;
import org.apache.lucene.analysis.LowerCaseFilter;
import org.apache.lucene.analysis.StopAnalyzer;
import org.apache.lucene.analysis.StopFilter;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.util.Version;

public class MyStopAnalyzer extends Analyzer {

    @SuppressWarnings( { "unchecked" })
    private final Set    stops;
   
    @SuppressWarnings("unchecked")
    public MyStopAnalyzer(String[] sws) {
        //会自动将字符串数组转换为Set
        stops = StopFilter.makeStopSet(Version.LUCENE_35, sws, true);
        //将原有的停用词加入到现在的停用词
        stops.addAll(StopAnalyzer.ENGLISH_STOP_WORDS_SET);
    }
   
    public MyStopAnalyzer() {
        //获取原有的停用词
        stops = StopAnalyzer.ENGLISH_STOP_WORDS_SET;
    }
   
    @Override
    public TokenStream tokenStream(String fieldName, Reader reader) {
        //为这个分词器设定过滤链和Tokenizer
        return new StopFilter (Version.LUCENE_35, new LowerCaseFilter(Version.LUCENE_35,
            new LetterTokenizer (Version.LUCENE_35, reader)), stops);
    }
   
}

分享到:
评论

相关推荐

    Ikanalyzer分词器动态自定义词库的方法.doc

    IKAnalyzer提供了动态自定义词库的方法,使得开发者可以根据不同的应用场景和需求,灵活地配置分词器的词库。 动态自定义词库的方法主要通过自定义Configuration类来实现。Configuration类是IKAnalyzer的核心配置类...

    elasticsearch-analysis-ik-7.7.0分词器及安装步骤.rar

    首先,`elasticsearch-analysis-ik` 的主要功能包括支持多语言分词、自定义词典、智能分析模式等。7.7.0 版本兼容 Elasticsearch 7.7.0,确保与 Elasticsearch 的稳定集成。在使用这个分词器之前,你需要确保你的 ...

    iK分词器【solr4版本】.zip

    在这个配置中,`text_ik`字段类型使用了iK分词器,同时配合了StopFilter(停用词过滤器)和LowerCaseFilter(小写转换过滤器)。索引时启用智能分词模式(useSmart="true"),查询时则关闭智能分词(useSmart="false...

    es6.7.1分词器插件安装-和head插件连接es特殊配置

    最后,需要注意的是,特殊配置可能包括调整分词器的参数,比如过滤停用词、自定义词典等。具体配置取决于所选分词器的文档说明。 总结来说,正确安装并配置分词器插件对于Elasticsearch处理中文数据至关重要。通过...

    solr_solr_

    在实际应用中,根据需求,可能还会配置其他特定的分词器和过滤器,如中文分词器(如SmartChineseAnalyzer)、n-gram过滤器(用于短语匹配)或者自定义的分析链。这些配置有助于优化搜索性能和结果的相关性。 在提供...

    Solr分词项目工程实例

    根据实际需求,开发者可以自定义分词器和过滤器,或者组合使用现有的组件,构建自己的分析链。 三、Solr分词项目的实施 在实际项目中,Solr的分词流程通常涉及以下步骤: 1. 配置索引:在Solr配置文件中定义字段...

    Elasticsearch分词.pptx

    Elasticsearch分词是搜索引擎优化的关键环节,尤其是在处理中文数据时。Elasticsearch(简称ES)作为一个...在处理特定语言或特定领域的数据时,可能需要自定义分词器或者调整内置分词器的配置,以满足特定的业务需求。

    ES开发工具备用,包括分词,kibana

    默认的分词器是`standard`,但可以根据需求定制或选择其他预定义的分词器,如`simple`, `whitespace`, `keyword`, `stop`, `snowball`等。 1. **自定义分词器**:通过定义自己的分词规则,可以实现特定语言或业务...

    lucene中文分词源码,做搜索引擎需要用到的好东西哦

    在处理中文时,Analyzer通常会使用jieba分词库或IK Analyzer等专门针对中文的分词器。这些分词器能够识别出词语的边界,对连续的汉字序列进行切割,生成合理的词汇。 接着,Analyzer会通过TokenStream来处理Token流...

    ik-analyzer-8.3.1分词插件.rar

    1、复制jar包 cp ik-analyzer-8.3.1.jar ../solr/WEB-INF/lib 另:为了方便自定义ik-analyzer的设置,可以把ik-analyzer-...-- ik分词器 --> 3、重启solr ./solr stop -p 8080 ./solr start

    词典(百度LAC分词)

    例如,在医疗或法律文本中,有很多专业词汇可能不在通用的词典中,通过自定义字典可以避免误分词。 "lac_define_dict.txt"可能就是百度LAC的自定义字典文件。这个文件包含了用户或开发者根据具体需求添加的特殊词汇...

    结巴分词、词性标注以及停用词过滤

    本文将深入探讨结巴分词、词性标注以及停用词过滤这三个关键概念,并结合Python程序实践来阐述它们的应用。 1. 结巴分词(jieba分词): 结巴分词是针对中文文本的一种开源分词工具,由李志武开发。它采用了基于...

    Python代码源码-实操案例-框架案例-如何对读取的文件内容进行分词.zip

    4. **自定义词典**:在处理特定领域的文本时,可能需要添加自定义词汇到分词器的词典中。`jieba`允许添加自定义词典以提高分词准确度: ```python jieba.load_userdict('custom_dict.txt') seg_list = jieba.lcut...

    使用lucene4.10,IKAnalyzer5.0提取敏感词

    在`Lucene 4.10`中,我们可以使用`IKAnalyzer`作为分词器,然后结合`StopFilter`来实现敏感词过滤。 要实现敏感词过滤,首先需要创建一个敏感词库,这个库可以是一个文本文件,包含所有需要过滤的敏感词汇。然后在`...

    Lucene 3.6 学习笔记

    - 实现自定义Stop分词器以过滤停用词。 - 实现简单的同义词索引。 ### 第五章 高级搜索 #### 5.1 搜索排序 - 默认按评分排序。 - 根据评分、索引号、文件大小、日期等多种条件自定义排序。 #### 5.2 搜索过滤 - ...

    基于python的jieba模块常用方法及使用

    jieba.posseg.POSTokenizer() 方法用于新建自定义分词器,用户可以通过该方法来实现自定义的分词逻辑。 jieba.tokenize() --------------------- jieba.tokenize() 方法用于返回词语在原文的起止位置,用户可以...

    自然语言处理NLP中文分词之停用词.zip

    停用词(Stop Words)是指在文本中频繁出现但对理解和分析文本意义贡献较小的词语,如“的”、“是”、“在”等。在进行分词后,通常会过滤掉这些停用词,以减少无用信息,提高处理效率和结果的准确性。不同的应用...

    elasticsearch 停词 demo

    Elasticsearch 提供了 `stop` 过滤器,用于移除停词。用户可以通过配置自定义的停词表来扩展默认的停词集。 3. **分析器(Analyzer)**: 分析器是分词器和过滤器的组合,定义了如何处理文本。Elasticsearch 默认...

    AnsjTokenizerFactory

    AnsjTokenizerFactory就是将Ansj分词引擎融入Solr的核心组件,允许开发者自定义分词规则,提高搜索引擎的智能化水平。 二、AnsjTokenizerFactory的原理 AnsjTokenizerFactory是Solr的插件,它扩展了Lucene的...

    elasticsearch-analysis-ik-7.17.6实现动态增量更新词汇

    在 Elasticsearch 中,IK 分词器允许我们自定义停用词列表,并且可以实现动态更新,以便在运行时添加或删除停用词。 1. **IK 分词器配置**: 首先,你需要在 Elasticsearch 的配置文件 `elasticsearch.yml` 中设置...

Global site tag (gtag.js) - Google Analytics