lucene token解析
2015-10-14 09:02
337 查看
Lucene的analysis模块主要负责词法分析及语言处理而形成Term.
Lucene的index模块主要负责索引的创建,里面有IndexWriter.
Lucene的store模块主要负责索引的读写。
Lucene的QueryParser主要负责语法分析。
Lucene的search 模块主要负责对索引的搜索。
Lucene的similarity模块主要负责对相关性打分的实现。
![](http://lucene.apache.org/core/3_3_0/api/core/resources/inherit.gif)
org.apache.lucene.analysis.TokenStream
![](http://lucene.apache.org/core/3_3_0/api/core/resources/inherit.gif)
org.apache.lucene.analysis.Tokenizer
token是分词组件,tokenStream 是一些token序列组成的。tokeizer是抽象类。public abstract class [b]Tokenizerextends TokenStream。[/b]
tokenStrem的形成:
analysis通过对文本的分析来建立TokenStream(分词数据流),tokenStream是有一个个token组成。所以说analyzer就代表着一耳光从文本数据中抽取索引词(term)的一种策略。
token和term的关系:
收集带建索引的原始文档(document)
将原始文档传递给词条化工具(tokenizer)进行文本词条化
将得到的词条(token)传递给语言分析工具(linguistic Modules)处理得到term
得到的term传递给索引组件indexer进行构造倒排索引
tokenstream是从doucment的域(field)中抽取的一个个分词而组成的一个数据流。tokenstream中是一个个的分词。而每个分词优势由一个个的属性组成。
tokenstream的作用就是从给入的文本中不断解析础token,具体的做法是tokenStream有方法incrementToken,每次调用,将产生待分析文本的下一个token.
使用场景;
QueryParser parser = new QueryParser(Version.LUCENE_36, field, analyzer);
Query query = parser.parse(queryString);
Lucene的index模块主要负责索引的创建,里面有IndexWriter.
Lucene的store模块主要负责索引的读写。
Lucene的QueryParser主要负责语法分析。
Lucene的search 模块主要负责对索引的搜索。
Lucene的similarity模块主要负责对相关性打分的实现。
lucene源码组件 | |
org.apache.lucene.analysis | 语言分析器,主要用于的切词,支持中文主要是扩展此类 |
org.apache.lucene.document | 索引存储时的文档结构管理,类似于关系型数据库的表结构 |
org.apache.lucene.index | 索引管理,包括索引建立、删除等 |
org.apache.lucene.store | 数据存储管理,主要包括一些底层的I/O操作 |
org.apache.lucene.search | 搜索管理,根据搜索条件进行查询 |
org.apache.lucene.util | 一些公用类 |
org.apache.lucene.queryParser | 查询分析器,实现查询关键词间的运算,如与、或、非等 |
![](http://lucene.apache.org/core/3_3_0/api/core/resources/inherit.gif)
org.apache.lucene.analysis.TokenStream
![](http://lucene.apache.org/core/3_3_0/api/core/resources/inherit.gif)
org.apache.lucene.analysis.Tokenizer
token是分词组件,tokenStream 是一些token序列组成的。tokeizer是抽象类。public abstract class [b]Tokenizerextends TokenStream。[/b]
tokenStrem的形成:
analysis通过对文本的分析来建立TokenStream(分词数据流),tokenStream是有一个个token组成。所以说analyzer就代表着一耳光从文本数据中抽取索引词(term)的一种策略。
token和term的关系:
收集带建索引的原始文档(document)
将原始文档传递给词条化工具(tokenizer)进行文本词条化
将得到的词条(token)传递给语言分析工具(linguistic Modules)处理得到term
得到的term传递给索引组件indexer进行构造倒排索引
tokenstream是从doucment的域(field)中抽取的一个个分词而组成的一个数据流。tokenstream中是一个个的分词。而每个分词优势由一个个的属性组成。
tokenstream的作用就是从给入的文本中不断解析础token,具体的做法是tokenStream有方法incrementToken,每次调用,将产生待分析文本的下一个token.
使用场景;
QueryParser parser = new QueryParser(Version.LUCENE_36, field, analyzer);
Query query = parser.parse(queryString);
相关文章推荐
- Word Search II 解答
- 错误:No resource found that matches the given name 'Theme.AppCompat.Light'解决方法
- Tomcat处理HTTP请求:Connector源码
- Tomcat中的Connector配备
- Tomcat 的三种(bio,nio.apr) 高级 Connector 运行模式
- git理解和使用
- Apache负载均衡+Tomcat集群
- Tomcat connector元素常用配置(最大连接数等)
- Spring MVC国际化
- packageinstaller之权限获取及展现
- 事务
- App应用之发布各广告平台版本
- 使用Java实现DNS域名解析的简单示例
- Arch Linux 环境下使用 Tomcat 6 搭建多站点、带SSL证书、高性能NIO/APR网站的配置详解
- Tomcat性能调优
- poj 1971 Parallelogram Counting 排序 + 计数
- CLRS 7.4快速排序分析
- 解决编码问题
- excel选择符合条件的行
- 两个队列实现一个栈