solr学习之六--------Analyzer(分析器)、Tokenizer(分词器)
来源:互联网 发布:mysql int时间格式化 编辑:程序博客网 时间:2024/06/07 00:57
首先,不知道大家在前面的例子中没有试着搜索文本串,就是在第二节,我们添加了很多文档。如果字段值是一个文本。你如果只搜索这个字段的某个单词,是不是发现搜不到?
这就是因为我们没有配置Analyzer,因此在搜索的时候会“全匹配”。可以从直观感觉上理解为SQL的 like和= 的区别。
通过前面这段引文,我们就能知道:Analyzer就是分析我们的文本的。
一般来说:solr.TextField类型的字段才需要分析器。
最简单的配置分析器的如下:
- <fieldType name="nametext" class="solr.TextField">
- <analyzer class="org.apache.lucene.analysis.WhitespaceAnalyzer"/>
- </fieldType>
其实分析器(Analyzer)还可以包括一个分词器(Tokenizer)和多个过滤器(filter),这2个东西,是为了实现更复杂的场景,我们后续再讲。
分析器一般出现在2个环境:建索引(index)和查询(query),大多数情况下这2个场景的分析过程都是一样,也就是说用的是相同的分析器。但是,你仍然可以为2个不同的阶段指字不同的分析器:
- <fieldType name="nametext" class="solr.TextField">
- <analyzer type="index">
- <tokenizer class="solr.StandardTokenizerFactory"/>
- <filter class="solr.LowerCaseFilterFactory"/>
- <filter class="solr.KeepWordFilterFactory" words="keepwords.txt"/>
- <filter class="solr.SynonymFilterFactory" synonyms="syns.txt"/>
- </analyzer>
- <analyzer type="query">
- <tokenizer class="solr.StandardTokenizerFactory"/>
- <filter class="solr.LowerCaseFilterFactory"/>
- </analyzer>
- </fieldType>
同过 type来指阶段。
Tokenizer:
分词器,从字面意思都可以理解,就是将句子拆成一个个的词(或者是词组),比如A B C D,可以拆成A,B,C,D4个单独的单词,也有可能拆成AB,CD 或者其它。。。。 这个就看你分词规则了。
使用如下:
- <fieldType name="text" class="solr.TextField">
- <analyzer>
- <tokenizer class="solr.StandardTokenizerFactory"/>
- </analyzer>
- </fieldType>
值 得注意的是:这里配的class是Factory,而不是真正的分词器,他是通过工厂类来创建分词器实例的。所有的工厂类,必须实现org.apache.solr.analysis.TokenizerFactory
工厂的产出物,也必须派生至:org.apache.lucene.analysis.TokenStream
Filter:
就是经过Tokenizer分词之后,再再行的继续处理,比如全转成小写,时态处理, 去掉语气词等。。。
0 0
- solr学习之六--------Analyzer(分析器)、Tokenizer(分词器)
- solr学习之六--------Analyzer(分析器)、Tokenizer(分词器)
- Solr 关于Analyzer、Tokenizer、和Filter,以及中文分词器
- Solr分析器、分词器、过滤器(1)
- Solr分析器、分词器、过滤器(2)
- Lucene分词实现---Analyzer、TokenStream(Token、Tokenizer、Tokenfilter)
- Lucene分词实现---Analyzer、TokenStream(Token、Tokenizer、Tokenfilter)
- Lucene&&Solr——分析器(Analyzer)
- solr中Analyzer(分词器)及其自定义
- solr-4.7.2分词器(ik-analyzer)配置
- solr学习(4.1)-solr4.7中文分词器(ik-analyzer)配置
- Solr学习之十二:IK Analyzer中文分词配置
- Solr分词器、过滤器、分析器。
- lucene分词器中的Analyzer,TokenStream, Tokenizer, TokenFilter
- Solr 分析器 Analyzer
- solr 入门介绍/solr 分析器(Analyzer) / solr富文本解析
- (二)solr-4.5.1中文分词器(IK-Analyzer)配置
- solr配置中文分词器IK Analyzer
- 神经网络与深度学习(第一章)(六)
- php中数组函数应用
- mysql 远程访问
- poj 1458 最长公共子序列
- [Android开发] ButterKnife8.5.1 使用方法教程总结
- solr学习之六--------Analyzer(分析器)、Tokenizer(分词器)
- 微信小程序开发阅读&电影小程序之(3)——新闻列表页面构建-数据绑定-for循环
- 解决idea项目目录红色问题
- 优先队列运算符重载
- bzoj2957(线段树应用)
- 紫狐云解析
- 领域驱动设计系列文章(1)——通过现实例子显示领域驱动设计的威力
- ubuntu中apt-get安装与默认路径
- java+xstream实现xml序列化(XStream轻松转换xml和java对象)