创建索引
public void execute() {
System.out.println("开始创建索引工单");
Analyzer analyzer = new IKAnalyzer();//
IndexWriter iwriter = new IndexWriter(path, analyzer, false);// false 增量索引
creatCspIndex(iwriter);
iwriter.close();
System.out.println("完成创建索引工单");
}
public void creatCspIndex(IndexWriter iwriter) {
proSet = prossDAO.queryProblemProcessList(start,end);
List contListMap = proSet.getDataResult();
for (String key : contListMap.keySet()) {
if (null == contMap.get(key)) {
continue;
}
Document doc = new Document();
doc.add(new Field("title",key,Field.Store.YES,Field.Index.ANALYZED));
doc.add(new Field("content",contMap.get(key),Field.Store.YES,Field.Index.ANALYZED));
iwriter.addDocument(doc);
}
搜索 高亮
Directory directory = null;
IndexSearcher is = null;
TopDocs topDocs2 = null;
String keyword = "第二章提示用户要求另外收费";
Query query2 = IKQueryParser.parse("content", keyword); //
File indexDir = new File(path);
directory = SimpleFSDirectory.open(indexDir);
IndexReader reader = IndexReader.open(new SimpleFSDirectory(
indexDir));
is = new IndexSearcher(reader);
is.setSimilarity(new IKSimilarity());
topDocs2 = is.search(query2, 5);//搜索前5个最相似的
ScoreDoc[] scoreDocs = topDocs2.scoreDocs;
//高亮设置
Analyzer analyzer = new IKAnalyzer();//设定分词器
//设定高亮显示的格式,也就是对高亮显示的词组加上前缀后缀
SimpleHTMLFormatter simpleHtmlFormatter = new SimpleHTMLFormatter("<font color='red'><B>","</B></font>");
Highlighter highlighter = new Highlighter(simpleHtmlFormatter,new QueryScorer(query2));
highlighter.setTextFragmenter(new SimpleFragmenter(150));
//设置每次返回的字符数.想必大家在使用搜索引擎的时候也没有一并把全部数据展示出来吧,当然这里也是设定只展示部分数据
for(int i=0;i<scoreDocs.length;i++){
Document doc = is.doc(scoreDocs[i].doc);
TokenStream tokenStream = analyzer.tokenStream("",new StringReader(doc.get("content")));
String str = highlighter.getBestFragment(tokenStream, doc.get("content"));
}
分享到:
相关推荐
IKAnalyzer就是这样一款针对中文的开源分词工具,它是基于Java开发的,广泛应用于Solr和Elasticsearch等搜索系统中。 IKAnalyzer是由尹建伟等人开发的,它的全称为"Intelligent Chinese Analyzer for Java",旨在...
IKAnalyzer 是一个专门针对中文的分词器,它在处理中文文本时能实现更准确的分词效果。在这个"solr_5.0_tomcat7_IKAnalyzer中文分词安装及demo"的压缩包中,你将找到如何在Solr 5.0中集成IKAnalyzer并进行演示的详细...
中文分词IKAnalyzer和高亮highlighter的使用”指出,这个主题将探讨如何在Lucene中应用IKAnalyzer进行中文分词,以及如何使用高亮器(highlighter)来突出搜索结果中的关键词。Lucene是Apache软件基金会的一个开放源...
ikanalyzer-2012_u6 和 IKAnalyzer2012FF_u1 是两种不同的版本的IK Analyzer分词器,这是中国开源社区广泛使用的Java语言实现的中文分词工具。IK Analyzer,全称“Intelligent Chinese Analyzer”,意为智能中文分析...
标题"IKAnalyzer LUCENE.4.9 中文分词的高亮显示"表明我们将探讨如何使用IKAnalyzer与Lucene 4.9版本相结合,实现搜索结果的关键词高亮功能。高亮显示有助于用户快速识别和理解搜索结果中的重要信息。 IKAnalyzer的...
在描述中提到的"ik-analyzer-solr7.zip"是一个专门为Apache Solr 7.x版本定制的IKAnalyzer分词器插件。Solr是Apache软件基金会的一个项目,它是一款强大的全文搜索服务器,提供了诸如索引、搜索、高亮显示、拼写检查...
总的来说,这个压缩包提供了一套完整的Lucene环境,集成了IKAnalyzer分词器,可以用来构建具备中文处理能力的全文搜索引擎。开发者可以根据实际需求,选择合适的组件进行集成,实现更高效、更精准的文本搜索和处理。...
《ikanalyzer-solr:Solr的中文分词利器》 在信息检索和文本分析领域,中文分词是至关重要的一步,它能够将连续的汉字序列切分成具有语义的词汇单元,为后续的文本处理提供基础。ikanalyzer-solr正是一款专为Apache...
IKAnalyzer是一款开源的、基于Java实现的中文分词器,主要应用于搜索引擎和其他需要对中文文本进行处理的系统中。这个“IKAnalyzer2012.jar.zip”压缩包包含了IKAnalyzer的两个不同版本的jar包,分别是IKAnalyzer...
总的来说,ik-analyzer-5.3.0和ikanalyzer-solr6.5-2018是针对不同Solr版本的IK分词器,它们为中文文本的处理提供了强大支持,帮助提高Solr的全文检索效果。在实际应用中,选择合适的版本并正确配置分词器是提升Solr...
标题中的"IKAnalyzer2012FF_u1.jar"是一个特定版本的IK Analyzer,这是一个广泛应用于Java环境中的开源中文分词工具。IK Analyzer设计的主要目标是提供一个灵活且高效的中文分词解决方案,尤其适用于信息检索、文本...
描述中提到的“三个IKAnalyzer分词jar包”意味着这个压缩包包含了不同版本的IKAnalyzer,这些版本可能在功能、性能或兼容性方面有所差异: 1. IK Analyzer 2012FF_hf1.zip:这是IKAnalyzer的一个特定版本,2012FF...
本资源"ikanalyzer-solr7.2.1.zip"正是针对Solr 7.2.1版本的IK Analyzer配置包,旨在帮助用户实现IK Analyzer与Solr的无缝对接,以便更好地处理中文语句的分词工作。 首先,我们需要理解Solr的核心功能。Solr是...
例如,使用IK Analyzer可以创建`IKAnalyzer analyzer = new IKAnalyzer();`。 3. **字段分析**:在创建Document对象时,对需要进行分词的字段使用配置好的Analyzer,如`document.Add(new Field("content", content, ...
IK Analyzer 2012FF_hf1 是一个针对中文的分词器,专为处理中文文本而设计,旨在提高中文文本的索引和搜索效率。这个组合在描述中提到已经过测试,证明它们可以协同工作,为中文搜索引擎应用提供有效的支持。 Solr ...
标题中的“Solr配置安装(二)--之中文分词器IKAnalyzer”指的是在Solr搜索引擎平台上进行IKAnalyzer中文分词器的配置和安装过程。IKAnalyzer是一个针对中文处理的开源搜索分析器,广泛应用于Lucene和Solr项目中,为...
**IKAnalyzer:中文分词库源码解析** IKAnalyzer 是一款优秀的开源中文分词库,专为处理中文文本而设计,广泛应用于搜索引擎、信息检索、自然语言处理(NLP)等领域。其源码的深入理解有助于开发者更好地掌握中文...
IK 分词器(IK Analyzer)是 Elasticsearch 中常用的中文分词组件,旨在提供高效、灵活的中文分词功能。版本 7.4.0 是该插件针对 Elasticsearch 7.4.0 版本的一个优化版本,确保与 Elasticsearch 的兼容性和性能。 ...
在处理中文文本时,一个关键的组件就是中文分词器,而IK(Intelligent Chinese)分词器是Solr中常用的中文分词工具之一。本文将深入探讨"solr5的ik中文分词器源码"的相关知识点。 1. **IK分词器概述**: IK分词器...
1. 下载ikanalyzer-solr5版本的分词器库,并将其添加到Solr的lib目录下,确保Solr启动时能够加载到这个库。 2. 在Solr的schema.xml文件中,定义一个字段类型(FieldType),指定使用Ik分词器。例如: ```xml ...