`

在Solr中使用IKAnalyzer遇到的一个问题

阅读更多

最近在项目中使用Solr做全文检索功能,使用了IKAnalyzer中文分词器(在此感谢:http://linliangyi2007.iteye.com/category/27277)。在使用过程中一切都很顺利。因为太顺利了,所以测试没有做得很细,在给用户测试时,发现一个奇怪的现象:

对于有些词组或句子,索引库中明明存在,但就是检索不出来,例如:

对于“企业所得税”这个词组,按照“企业 所得税”能检索到内容,但去掉中间空格,按“企业所得税”来检索,却怎么也搜索不到。

 

在Solr管理界面分析页面(http://127.0.0.1:8080/solr/admin/analysis.jsp),分析得到分词结果是:

Index Analyzer:

企业所 企业 所得税 所得

 

Query Analyzer:

PanskyESE 管理页面 <script type="text/javascript"><!-- var host_name="xmptt2" // --></script>

企业所 所得税

 

奇怪,两个分词出来的结果竟然不一样。检查配置文件,在schema.xml文件中,IKAnalyzer的配置如下:

      <analyzer type="index">
	<!--IK分词器-->
	<tokenizer class = "org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false" />
         ...
      </analyzer>
 
      <analyzer type="query">
	<!--IK分词器-->
	<tokenizer class = "org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="true" />
         ...
      </analyzer>

 这是按照IKAnalyzer附带的安装手册做的配置,但是不明白为什么在索引时和搜索时isMaxWordLength要设置成不一样 。不管三七二十一,先把下面那个isMaxWordLength="true"改成isMaxWordLength="false"试试。

改完,重启服务器,再搜索“企业所得税”,终于搜到结果了。

 

问题算是解决了,但不明白原因,有明白人请赐教。

 

分享到:
评论
2 楼 wdmsyf 2013-06-20  
多谢 老猴子 的解答。
1 楼 oldmonkey 2013-06-09  
查询采用IK自己的最大分词法,索引则采用它的细粒度分词法,所以各自配置了isMaxWordLength属性

相关推荐

    Solr java IKAnalyzer词库

    描述中的博文链接虽然没有提供具体内容,但通常会包含作者对使用IKAnalyzer在Solr中的实践经验、配置步骤或者遇到的问题及解决方案。由于链接不可直接访问,我们无法直接引用其内容,但可以基于IKAnalyzer的常见用法...

    solr6.x的IKAnalyzer整合

    在 Solr 中整合 IKAnalyzer 可以优化对中文文档的索引和查询性能。 在 Solr 6.x 版本中整合 IKAnalyzer,主要涉及以下几个步骤: 1. **下载和准备 IKAnalyzer**: 首先,你需要从官方网站或者 GitHub 下载 IK...

    solr5.5.x的中文分词IKAnalyzer

    标题 "solr5.5.x的中文分词IKAnalyzer" 指的是在Apache Solr 5.5.x版本中使用IKAnalyzer进行中文文本的分词处理。Solr是一款流行的开源搜索服务器,它允许对大量数据进行高效、复杂的全文检索。而中文分词是中文文本...

    solr6.x的IKAnalyzer配置智能分词

    在Solr中配置IKAnalyzer可以提升中文搜索的准确性和效率。以下是对"solr6.6的IKAnalyzer配置智能分词"的详细说明: 1. **IKAnalyzer介绍**:IKAnalyzer是基于Java实现的,主要设计目标是提高分词的准确性,同时具备...

    IKAnalyzer.Solr

    标题中的"IKAnalyzer.Solr"表明这是一个与Solr集成的IKAnalyzer版本,专门优化了对Solr的支持。Solr是Apache Lucene项目的一个子项目,是一个强大的、开源的企业级搜索平台,可以处理大量文档的全文检索、快速检索、...

    支持solr5.5 solr6.0中IK分词需要的资料

    2. **最大切分模式**:当遇到一个词时,IK会尝试尽可能多地切分,以获取更细粒度的词语。 3. **最小切分模式**:相反,它也会尝试找到最短的合法切分,以避免过度切分。 4. **自定义扩展词典**:用户可以根据需求...

    IK Analyzer 2012FF_hf1.7z

    在实际应用中,IK Analyzer 可能会遇到的问题包括歧义分词、新词识别、生僻字处理等。解决这些问题通常需要调整词典、设置分词规则或者利用机器学习的方法来提升性能。例如,对于新兴网络热词,IK Analyzer可能需要...

    ikanalyzer中文分词支持lucene7.1.0

    通过设置ikanalyzer为Solr的默认分析器,可以确保在Solr中处理中文文本时,分词效果达到预期。 在实际应用中,可能会遇到以下兼容问题: 1. **版本匹配**:确保ikanalyzer版本与Lucene和Solr版本兼容,避免因版本...

    IKAnalyzer中文分词器V3.2使用

    IKAnalyzer是一款开源的、适用于Java环境的中文分词器,主要用于解决在信息检索、文本挖掘等领域中遇到的中文处理问题。这款分词器的设计目标是提高分词的准确率,并且具有良好的可扩展性,能够方便地与其他Java应用...

    Lucene5.21+IkAnalyzer

    《Lucene5.21与IkAnalyzer2012_V5入门详解》 在信息技术领域,数据检索和...希望这个入门案例能帮助你开启Lucene和IkAnalyzer的探索之旅,如果你在实践中遇到困难,欢迎进一步学习和研究,不断提升自己的技术实力。

    IKanalyzer2012.rar

    在实际应用中,IK Analyzer 2012通常被集成到诸如Solr、Elasticsearch等全文检索引擎中,或者与Lucene等搜索引擎库配合使用。其分词结果可以用于索引构建、关键词提取、情感分析等多个方面。同时,由于IK Analyzer是...

    IKAnalyzer中文分词器jar包

    4. `solr-analyzer-ik-5.1.0.jar`:这可能是IKAnalyzer为Solr提供的一个特定版本的适配器,确保与Solr 5.1.0版本兼容。 5. `IKAnalyzer.cfg.xml`:配置文件,用于设置IKAnalyzer的行为,如是否开启动态加载词典、...

    IK分词solr5.0.0

    在Solr 5.0.0中使用IK分词器,可以显著提高中文文本的检索效果,通过智能分词和新词识别,使得用户输入的关键词能够更准确地匹配到文档中的内容。同时,通过调整分词器的配置,还能进一步优化搜索体验,满足不同的...

    tomcat8+solr7.4+IK

    6. **错误排查**:由于这是一个预配置的压缩包,如果在部署或运行过程中遇到问题,描述中提示了应主动反馈,这可能涉及到环境变量配置、权限问题、端口冲突或者配置文件的错误等。 从【标签】"solr7.4"和"IK"中,...

    ikanalyzer 词频计算

    ikanalyzer 是一个基于Java语言开发的中文分词库,它主要应用于搜索引擎或者信息检索系统,用于将汉字文本拆分成有意义的词语,以便进行关键词提取、信息检索、文档相似度计算等任务。ikanalyzer的设计目标是简化...

    lucene的IKAnalyzer以及兼容4.3

    在使用IKAnalyzer与Lucene 4.3结合时,可能会遇到一些兼容性问题,主要是由于版本更新带来的API变化。例如,Lucene的某些类、方法或接口可能在新版本中被废弃或调整,导致旧版的IKAnalyzer无法直接运行。为了解决...

    IKAnalyzer3.2.5Stable_bin.zip中文分词

    开发者可以通过导入这个JAR包,在自己的项目中使用IKAnalyzer。 3. **IKAnalyzer中文分词器V3.2.3使用手册.pdf**:这份文档提供了IKAnalyzer的详细使用指南,包括安装、配置、使用示例和常见问题解答。用户可以通过...

    ik-analyzer-solr-master_ik分词器_pocket7ce_源码_

    在标题"ik-analyzer-solr-master_ik分词器_pocket7ce_源码_"中,ik-analyzer-solr-master表明这是一个针对Apache Solr优化的ik分词器版本,适合与Solr集成进行全文检索。 **Ik Analyzer简介** Ik Analyzer是由国人...

    Solr4.7-IKAnalyzer-分词配置-自定义IKTokenizerFactory

    在做IK分词器与solr过滤器结合是时候遇到一些问题,&lt;tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true"/&gt; 在网上页找了一些jar包或者class,最后找到一个合适的源码,解决了问题。 ...

    IKAnalyzer-5.0及其资料

    10. **社区支持**:作为一个开源项目,IKAnalyzer拥有活跃的社区,用户可以在遇到问题时寻求社区的帮助,或者参与到项目的改进中。 通过学习和使用IKAnalyzer-5.0,开发者可以更好地处理中文文本数据,提高信息检索...

Global site tag (gtag.js) - Google Analytics