分词器的作用:分词器,是将用户输入的一段文本,分析成符合逻辑的一种工具。
到目前为止呢,分词器没有办法做到完全的符合人们的要求。
和我们有关的分词器有英文的和中文的
英文的分词器过程:输入文本-关键词切分-去停用词-形态还原-转为小写
中文的分词器分为:
单子分词 例:中国人 分成中,国,人
二分法人词:例中国人:中国,国人
词典分词:有基本的语意来进行分词的,例:中国人分成中国,国人,中国人,现在用的是极易分词和庖丁分词。
停用词:不影响语意的词。
网上有很多说分词器效果的,我在这里就不进行多说了,给大写一个方法来来看一下效果
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
Analyzer analyzer = new StandardAnalyzer();
TokenStream tokenStream = analyzer.reusableTokenStream(null,
new StringReader("wang jun long"));
while (true) {
org.apache.lucene.analysis.Token token = tokenStream.next();
if (null == token) {
break;
}
System.out.println(token.toString());
}
}
WhitespaceAnalyzer(),
SimpleAnalyzer(),
StopAnalyzer(),
StandardAnalyzer(),
MIK_CAnalyzer(), //需要引入IKAnalyzer.jar
ChineseAnalyzer(),
CJKAnalyzer(),
ThesaurusAnalyzer() //需要引入Thesaurus.jar
分享到:
相关推荐
Hibernate Search 是一个基于 Hibernate ORM 和 Apache Lucene 的开源项目,它提供了将 Hibernate 实体类自动索引到 Lucene 索引中的功能。通过这种方式,可以实现对实体数据的快速全文搜索,并且这些操作与普通的 ...
5. **分词器和分析器**:为了处理文本数据,Hibernate Search 使用了分词器和分析器。分词器将文本拆分成单独的单词,而分析器则对这些单词进行标准化,如去除停用词、词干提取等,以便提高搜索的准确性。 6. **...
- **Hibernate Search**:该框架基于Lucene实现,为Hibernate ORM提供了一个完整的全文检索解决方案。版本3.4.0.Final是针对Hibernate 3.x系列的一个成熟版本,它与Lucene 3.1版本兼容。 ##### 配置示例分析: 1. ...
对于文本字段,我们还可以使用`@AnalyzerDef`定义分析器,以处理文本分词和标准化。 接下来,我们需要在SessionFactory初始化时启用Hibernate Search。这通常在Hibernate的配置类或初始化代码中完成: ```java ...
6. 近实时搜索:由于Hibernate Search使用了Lucene的更新机制,一旦数据发生变化,索引会迅速更新,几乎可以立即反映到搜索结果中。 7. 分布式搜索:对于大型应用,Hibernate Search支持分布式部署,可以将索引分散...
3. **Hibernate Search**:作为Hibernate的一个扩展,Hibernate Search提供了基于Lucene的全文检索功能,使得在数据库中的数据可以被快速、精确地搜索。 **二、集成Hibernate Search** 1. **配置依赖**:首先,你...
5. **分词和分析**:提供自定义的分词器和分析器,对输入的查询字符串进行预处理,优化搜索效果。 6. **排序和评分**:可以根据搜索结果的相关性进行排序,同时支持自定义的排序规则,如根据时间、地理位置等信息。...
接着,会详细讲解如何配置和初始化Hibernate Search,包括设置索引存储、分析器选择和分词策略等关键步骤。 在数据模型部分,书中会阐述如何使用注解或XML来定义可被搜索的字段,以及如何处理多对一、一对多等复杂...
Hibernate Search 是 Hibernate 的一个扩展,它将 Apache Lucene 集成到 Hibernate ORM 中,使得数据库中的对象可以直接被索引和搜索。通过使用 Hibernate Search,开发者可以利用 Lucene 的强大搜索功能,而无需...
5. **分词器和过滤器**:5.6.0.Alpha3提供了丰富的分词器和过滤器选项,如英文分析器、中文分析器等,可以根据不同语言和应用场景定制文本处理流程,确保检索的准确性和相关性。 6. **分布式搜索**:随着大数据时代...
- **构建查询**:Lucene查询和Hibernate Search查询的构造方法,包括通用查询、分页、排序和结果获取策略。 - **结果处理**:考虑性能因素,控制结果集大小,使用结果转换器,并理解查询结果。 - **过滤器**:基于...
在配置文件部分,通常会有`hibernate.search.default.indexmanager`配置项,指定使用的索引管理器,如Lucene的默认实现。还有`hibernate.search.default.directory_provider`用于设置索引存储的位置,如内存或文件...
此外,为了优化性能,Hibernate Search还提供了高级特性,如倒排索引、分词器选择、过滤器设置、评分策略等。通过这些手段,开发者可以进一步定制检索行为,满足特定的应用场景需求。 总的来说,Hibernate Search是...
3. **Analyzer**:分析器负责将文本分词,以便Lucene能够进行有效的搜索。4.3.0版本支持多种预定义和自定义分析器。 4. **FieldBridge**:桥接对象,用于在ORM实体字段与Lucene文档字段之间建立映射。 5. **索引...
- 使用 `@AnalyzerDef` 注解自定义分析器,对文本进行分词、过滤等预处理。 - 使用 `@Highlighter` 注解实现高亮显示搜索结果中的匹配部分。 - 使用 `@Bridge` 注解处理复杂类型,如日期、枚举等。 - 通过 `@...
### IKAnalyzer中文分词器V3.1.6:深入解析与使用指南 #### 一、IKAnalyzer3.0概述 IKAnalyzer是一个基于Java语言开发的高性能中文分词工具包,自2006年发布以来,已历经多次迭代升级。起初作为开源项目Lucene的一...
Hibernate Search是一个强大的搜索引擎,它整合了Lucene库,使得开发人员能够利用Lucene的强大功能,同时保持与Hibernate ORM的无缝集成。这使得我们能够在数据库中的对象模型上实现全文搜索、近似搜索、范围查询等...
Hibernate Search是Hibernate项目的一个重要组成部分,它将强大的全文搜索引擎Lucene集成到Java持久化框架Hibernate中,使得在Java应用程序中进行复杂的全文搜索变得简单而高效。在本篇文章中,我们将深入探讨...
3. **分词器与分析器**: Hibernate Search支持自定义分词器和分析器,如标准分析器、关键词分析器等,以适应不同的文本处理需求。 4. **索引更新策略**: 可以设置实时索引更新或者批处理更新,以满足性能和实时性...
4. **多语言支持**:5.5.5.Final版的Hibernate Search强化了对多语言环境的支持,提供了针对不同语言的分词器和分析器,确保了全球化应用的搜索效果。 5. **分布式搜索**:对于大型项目,此版本支持集群环境下的...