5. solr.HTMLStripWhitespaceTokenizerFactory
从结果中出去HTML标签,将结果交给WhitespaceTokenizer处理。
例子:
my <a href="www.foo.bar">link</a>
|
my link
|
<?xml?><br>hello<!--comment-->
|
hello
|
hello<script><-- f('<--internal--></script>'); --></script>
|
hello
|
if a<b then print a;
|
if a<b then print a;
|
hello <td height=22 nowrap align="left">
|
hello
|
a<b A Alpha&Omega Ω
|
a<b A Alpha&Omega Ω
|
6. solr.HTMLStripStandardTokenizerFactory
从结果中出去HTML标签,将结果交给StandardTokenizer处理。
7. solr.PatternTokenizerFactory
说明:按照规则表达式样式对分本进行分词。
例子:处理对象为,mice; kittens; dogs,他们由分号加上一个或多个的空格分隔。
<fieldType name="semicolonDelimited" class="solr.TextField">
<analyzer>
<tokenizer class="solr.PatternTokenizerFactory" pattern="; *" />
</analyzer>
</fieldType>
--------------------------------------------------------------------
Solr有哪些TokenFilterFactories?
-------------------------------------------------------------------
1. solr.StandardFilterFactory
创建:org.apache.lucene.analysis.standard.StandardFilter.
说明:移除首字母简写中的点和Token后面的’s。仅仅作用于有类的Token,他们是由StandardTokenizer产生的。
例子:StandardTokenizer+ StandardFilter
"I.B.M. cat's can't" ==> "IBM", "cat", "can't"
2. solr.LowerCaseFilterFactory
创建:org.apache.lucene.analysis.LowerCaseFilter.
3. solr.TrimFilterFactory【solr1.2】
创建:org.apache.solr.analysis.TrimFilter
说明:去掉Token两端的空白符
例子:
" Kittens! ", "Duck" ==> "Kittens!", "Duck".
4. solr.StopFilterFactory
创建:org.apache.lucene.analysis.StopFilter
说明:去掉如下的通用词,多为虚词。
"a", "an", "and", "are", "as", "at", "be", "but", "by",
"for", "if", "in", "into", "is", "it",
"no", "not", "of", "on", "or", "s", "such",
"t", "that", "the", "their", "then", "there", "these",
"they", "this", "to", "was", "will", "with"
自定义的通用词表的使用可以通过schema.xml文件中的"words"属性来指定,如下。
<fieldtype name="teststop" class="solr.TextField">
<analyzer>
<tokenizer class="solr.LowerCaseTokenizerFactory"/>
<filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
</analyzer>
</fieldtype>
5. solr.KeepWordFilterFactory【solr1.3】
创建:org.apache.solr.analysis.KeepWordFilter
说明:作用与solr.StopFilterFactory相反,保留词的列表也可以通过”word”属性进行指定。
<fieldtype name="testkeep" class="solr.TextField">
<analyzer>
<filter class="solr.KeepWordFilterFactory" words="keepwords.txt" ignoreCase="true"/>
</analyzer>
</fieldtype>
6. solr.LengthFilterFactory
创建:solr.LengthFilter
说明:过滤掉长度在某个范围之外的词。范围设定方式见下面。
<fieldtype name="lengthfilt" class="solr.TextField">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LengthFilterFactory" min="2" max="5" />
</analyzer>
</fieldtype>
7. solr.PorterStemFilterFactory
创建:org.apache.lucene.analysis.PorterStemFilter
说明:采用Porter Stemming Algorithm算法去掉单词的后缀,例如将复数形式变成单数形式,第三人称动词变成第一人称,现在分词变成一般现在时的动词。
8. solr.EnglishPorterFilterFactory
创建:solr.EnglishPorterFilter
说明:关于句子主干的处理,其中的"protected"指定不允许修改的词的文件。
9. solr.SnowballPorterFilterFactory
说明:关于不同语言的词干处理
10.solr.WordDelimiterFilterFactory
说明:关于分隔符的处理。
11.solr.SynonymFilterFactory
说明:关于同义词的处理。
12.solr.RemoveDuplicatesTokenFilterFactory
说明:避免重复处理。
-------------------------------------------------------------------
.声明:原创文章,严禁转载。
分享到:
相关推荐
-- 同上,也可以添加其他查询分析器过滤器 --> ``` 这里,我们定义了一个名为`text_ik`的字段类型,使用了`HMMChineseTokenizerFactory`,这是一种基于隐马尔科夫模型(HMM)的中文分词器。 5. **更新字段...
2. 更新solrconfig.xml配置文件,定义分析器链,包括分词器和过滤器。 3. 在schema.xml中指定字段类型,使用刚配置的分析器。 4. 重启Solr服务使配置生效。 5. 测试分词效果,可通过Solr的分析器接口查看分词结果。 ...
同时,可以通过Solr的分析器工具(Analysis UI)来实时查看分词效果,方便调试和优化。 总的来说,Solr分词器是构建高效、精准的全文搜索引擎不可或缺的一部分。选择合适的分词器并进行适当的配置,能够极大地提升...
在Solr中,拼音分词主要依赖于特定的分析器和过滤器。这些组件在索引和查询阶段处理文本,将汉字转化为拼音,以便于匹配。例如,"北京大学"会被转化为"bei da xue jia"。Solr 提供了若干种实现这个功能的插件,如...
-- 查询分析器也可以添加过滤器 --> ``` 文件`ikanalyzer-solr5`可能是一个包含IK分词器的Solr插件包,用于Solr 5版本,虽然与标题中的Solr 6.5不完全匹配,但在实际应用中,IK分词器的版本通常与Solr版本保持...
### Solr分词器使用手册知识点详解 #### 一、Solr概述 - **定义**:Solr是一款基于Java开发的、由Apache基金会维护的顶级开源项目,它是一款高性能的全文检索服务器。Solr不仅继承了Lucene的核心索引与搜索能力,还...
IK分词器提供了扩展接口,允许开发人员根据需求定制自己的过滤器或分词策略。 - **热更新** 使用IK分词器的热更新功能,可以在不重启Solr的情况下动态加载新词库,提高系统的灵活性。 总结来说,集成和使用IK...
在Solr中,分词器(Analyzer)和过滤器(Filter)共同作用于输入文本,完成诸如分词、去除停用词、词形还原等任务,以便提高搜索质量和效率。 **Solr分词器配置** 配置Solr分词器主要涉及以下几个步骤: 1. **...
3. 在Solr的配置文件中,如`solrconfig.xml`,确保分词相关的过滤器和分析器已经正确配置。 4. 重启Solr服务,使配置生效。 5. 创建或者更新Solr的索引,让新的分词器对文本进行处理。 通过以上步骤,你就可以在...
6. **测试分词**:通过Solr的分析器接口或者日志输出,可以检查分词效果,确保ikanalyzer正常工作。 7. **使用教程**:如果遇到任何问题,可以参考压缩包内提供的使用教程,按照步骤进行操作,通常会有详细的配置和...
用户可以通过修改或添加词典文件来优化分词效果,也可以编写自定义的过滤器或扩展词典格式。源码中会有相关的接口和类供开发者参考。 7. **打包成JAR**: 解压后的源码需要通过Maven或其他构建工具(如Gradle)...
2. 分词器(Tokenizer)、过滤器(Filter)和字符过滤器(CharFilter)的作用和工作流程。 3. 如何在Solr中配置和使用自定义分词器,如IK Analyzer。 4. 分词器的源码阅读和理解,以进行定制或优化。 5. 开发工具的...
2. `stopword.dic`:停用词表,通常包含一些常见的无意义词汇(如“的”、“是”等),在分词过程中会被过滤掉,以提高搜索效率和结果的相关性。 3. `ik-analyzer-solr5-5.x.jar`:这个是IK分词器的核心JAR文件,...
- 根据实际需求调整 IK 分词器的配置参数,如启用/禁用某些过滤器,设置自定义词汇表等。 **IK 分词器的特性** - 支持动态加载自定义扩展词典,便于进行个性化的分词处理。 - 内置了英文分词,对于混合中英文的...
2. **智能分析**:它采用了基于词频的动态策略,能够自动识别新词,同时兼顾常用短语的分词。 3. **扩展性**:除了基本的分词功能,Ik Analyzer还提供了诸如过滤、去停用词、词性标注等扩展插件,可以满足更复杂的...
本文将深入探讨"mlcsseg"项目,它是一个针对Solr的开源分词器解决方案,其中包括了IK分词器和ANSJ分词器,以及各种过滤器和动态加载词库功能。以下是对这些知识点的详细说明: 1. **Solr分词器**:Solr是Apache ...
Solr是一款强大的全文搜索引擎服务器,而IKAnalyzer是针对中文的开源分词器,广泛应用于Solr和Elasticsearch等搜索引擎中。IKAnalyzer的设计目标是提供一个灵活且易扩展的中文分词解决方案,以满足不同场景下的分词...
总结,Solr分词项目工程实例涵盖了从配置分词器和过滤器到实际应用的过程,涉及到文档解析、分词、过滤等关键技术,通过"data"文件导入数据并建立索引,实现高效、精准的全文搜索。在实际操作中,开发者需要根据业务...
- 在Solr的schema.xml中配置分析器,指定使用IKAnalyzer,并可自定义参数,如是否开启动态扩展等。 3. **使用与优化**: - 对于特定领域或行业,可以通过扩展词典来提升分词效果,增加专业术语。 - 考虑使用...