个人技术博客:http://demi-panda.com
搜索引擎相关开源框架,一开始是lucene,这两天看了看solr,下了一个最新版本,配置了下,遇到一些问题。解决了一些,还有一些没有解决,这里将我的一些已经解决的问题,分享给大家。
1、下载solr1.4 http://apache.freelamp.com/lucene/solr/ (注:这里有及时solr的最新版本)
2、下载IKAnalyzer3.2.3Stable http://code.google.com/p/ik-analyzer/downloads/list (注:这里有IKAnalyzer及时的最新版本,也可附件直接下载)
3、1.4以前的版本不知道是否要扩展BaseTokenizerFactory 1.4的版本必须扩展BaseTokenizerFactorypackage com.analysis.util;
import java.io.Reader;
import org.apache.lucene.analysis.Tokenizer;
import org.apache.solr.analysis.BaseTokenizerFactory;
import org.wltea.analyzer.lucene.IKAnalyzer;
/**
* 中文分词
* @author Denghaiping
* @date 2010-8-14
*/
public class ChineseTokenizerFactory extends BaseTokenizerFactory
{
/**
* 重写父类方法
*/
public Tokenizer create(Reader input) {
return (Tokenizer)new IKAnalyzer().tokenStream("text", input);
}
}
5、然后修改schema.xml,粗体为修改部分
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<!-- 默认配置
<tokenizer class="solr.WhitespaceTokenizerFactory"/> -->
<!-- 添加IKAnalyzer分词 -->
<tokenizer class="com.analysis.util.ChineseTokenizerFactory" isMaxWordLength="false"/>
<!-- in this example, we will only use synonyms at query time
<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
-->
<!-- Case insensitive stop word removal.
add enablePositionIncrements=true in both the index and query
analyzers to leave a 'gap' for more accurate phrase queries.
-->
<filter class="solr.StopFilterFactory"
ignoreCase="true"
words="stopwords.txt"
enablePositionIncrements="true"
/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
</analyzer>
<analyzer type="query">
<!-- 默认配置
<tokenizer class="solr.WhitespaceTokenizerFactory"/> -->
<!-- 添加IKAnalyzer -->
<tokenizer class="com.analysis.util.ChineseTokenizerFactory" isMaxWordLength="true"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory"
ignoreCase="true"
words="stopwords.txt"
enablePositionIncrements="true"
/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
</analyzer>
</fieldType>
6、将它打包放入solr.war中同时还有IK的jar包。如果你不想打包,请去附件下载已经打好的包。或者直接放IK的jar包与所打的包放入apache-tomcat-6.0.26\webapps\solr\WEB-INF\lib下
分享到:
相关推荐
ikanalyzer-solr8.4.0 包含了与 Solr 8.4.0 版本兼容的 ikanalyzer 配置和类库。在使用这个包时,我们需要将其正确地集成到 Solr 的配置中。这通常涉及到以下步骤: 1. **下载与解压**:首先,下载并解压 ik...
配置文件(如`schema.xml`或`solrconfig.xml`)需要更新以指示Solr使用IKAnalyzer进行分词。JAR库文件(如`ik-analyzer.jar`)则需要添加到Solr的类路径中,以便在运行时能够加载和使用分词器。字典文件通常包含预定...
通过配置Solr,开发者可以调整模糊查询的容忍度,从而平衡准确性与召回率。 #### 五、排序评分(Ranked Scoring) 排序评分机制是Solr 1.4 中另一个关键特性,它可以根据文档的相关性对搜索结果进行排序。Solr ...
在这个说明中,我们将详细讲解如何在Solr 6.0中配置ikanalyzer分词文件,以实现对中文文本的有效处理。 1. **ikanalyzer简介** ikanalyzer是一款专门为Java语言设计的开源中文分词库,它基于Apache Lucene项目,...
直接使用即可",这意味着开发者已经完成了将IKAnalyzer与Solr的集成工作,使得Solr具备了对中文文本的分词处理能力,用户可以直接在该环境中进行搜索和索引操作,无需额外的配置或开发。 **Tomcat 8.5** Tomcat ...
2. **配置分析器**:在Solr的schema.xml文件中,配置默认的分析器为IKAnalyzer,指定词典路径。 3. **重启Solr**:完成配置后,重启Solr服务使改动生效。 4. **测试验证**:创建或更新索引,然后通过Solr的Admin UI...
**Solr分词器IKAnalyzer详解** Solr是一款强大的全文搜索引擎服务器,而IKAnalyzer是针对中文的开源分词器,广泛应用于Solr和Elasticsearch等搜索引擎中。IKAnalyzer的设计目标是提供一个灵活且易扩展的中文分词...
ikanalyzer-solr5 包含了 ikanalyzer 的特定版本,以及适应 Solr 5.x 版本的配置文件。这些配置文件通常包括字典文件(用于定义分词器认识的词汇)、停用词表(排除一些常见无意义词汇,如“的”、“和”等)和...
IKAnalyzer中文分词器本身已经不支持最新的solr 5,集成到solr中分词会报错,这里将解决了solr 5支持问题的最新IK包共享出来,希望能帮到各位! 附上IK在schema.xml中的配置: <fieldType name="text_ik" class=...
在Solr中使用ikanalyzer,我们可以将ikanalyzer的配置文件和jar包添加到Solr的lib目录下,然后在Solr的schema.xml中配置分词器。ikanalyzer-solr5这个文件可能包含了ikanalyzer针对Solr5版本的特定优化或适配。对于...
### Window下Solr1.4安装部署的知识点详解 #### 一、Solr简介 Apache Solr 是一个高性能、基于Lucene的全文检索服务。它提供了丰富的功能集,包括高度可扩展性、易于部署和强大的搜索功能。Solr 1.4版本是在2009年...
标题提到的"ik-analyzer 7.5.0"是Ik Analyzer的一个特定版本,这个版本包含了对Solr的支持,并且提供了类(class)配置,使得用户可以方便地集成到Solr环境中。Ik Analyzer的发展历程中,不断优化了分词效果,提高了...
1. **安装与配置**:首先,将`ikanalyzer-solr5`这样的压缩包解压,并将其中的IKAnalyzer相关的JAR文件添加到Solr的lib目录下,确保Solr启动时能加载到该分词器。 2. **配置schema.xml**:在Solr的配置文件`schema....
对solr1.4提供接口实现 使用IK分词器,应为该集群使用到的solr版本为4.10.3-cdh5.7.5,所以使用的 IK 包为IKAnalyzer2012FF_u1.jar,如果是3x的solr,使用IKAnalyzer2012_u6.jar solr-4.10.3下载地址:...
在压缩包"apache-tomcat-8.5.4-solr-8081"中,我们可以期待找到完整的Tomcat 8.5和Solr 7的安装文件,以及可能已经配置好的IKAnalyzer5和ikpinyin的配置文件和库。使用这个直装版,开发者或运维人员可以快速搭建一个...
- 在Solr的schema.xml中配置分析器,指定使用IKAnalyzer,并可自定义参数,如是否开启动态扩展等。 3. **使用与优化**: - 对于特定领域或行业,可以通过扩展词典来提升分词效果,增加专业术语。 - 考虑使用...
在Solr中集成IK Analyzer,能够更好地对中文内容进行索引和搜索,提高查询效率和准确性。 **Solr6.0集成IK Analyzer的过程主要包括以下几个步骤:** 1. **下载和安装** - 首先,你需要下载最新版本的Solr6.0和IK ...
在Solr中配置IKAnalyzer可以提升中文搜索的准确性和效率。以下是对"solr6.6的IKAnalyzer配置智能分词"的详细说明: 1. **IKAnalyzer介绍**:IKAnalyzer是基于Java实现的,主要设计目标是提高分词的准确性,同时具备...
本资源包“solr-IKAnalyzer.rar”包含了与IKAnalyzer相关的各种组件和配置,以便于在Solr中集成和使用IKAnalyzer。 首先,IKAnalyzer的核心功能在于对中文文本进行精确的分词处理。它采用了正向最大匹配算法和逆向...