前面的两篇博客写的有点傻了,这里整理下,写下整个过程:
参考官方文档:
http://wiki.apache.org/solr/SolrTomcat
但是不是完全按照官方文档来的。
一、准备材料:
从这里下载solr:http://lucene.apache.org/solr/
,我下载的是sorl-1.4.0
本机上安装tomcat,我装的是apache-tomcat-6.0.29
二、安装 solr 服务
tomcat根目录我下面称为:$CATALINA_HOME
自己选择一个规划好的服务目录,比如我选择了:/var/www/run/index/sorl1 用它作为sorl1的$SOLR_HOME
拷贝配置文件和war到$SOLR_HOME
cp -a /opt/apache-solr-1.4.0/example/solr/* /var/www/run/index/sorl1
cp /opt/apache-solr-1.4.0/dist/apache-solr-1.4.0.war /var/www/run/index/sorl
把索引文件修改为你所希望存放的地方,比如我想存放在$SOLR_HOME/data,则修改为
<!-- <dataDir>${solr.data.dir:/opt/solr/example/data}</dataDir> -->
<dataDir>/var/www/run/index/solr1/data</dataDir>
|
在tomcat的$CATALINA_HOME/conf/Catalina/localhost/下面,创建文件(solr1.xml),新增 Tomcat Context
把 docBase 指向 $SOLR_HOME/apache-solr-1.4.0.war ,把solr/home 指向 $SOLR_HOME,内容为:
<Context docBase="/var/www/run/index/solr1/solr.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="/var/www/run/index/solr1" override="true" />
</Context>
|
启动tomcat,在浏览器中访问:http://localhost:8080/solr1
就会发现一切都好了。
另外:为了兼容,或者说是为了解决中文乱码,则需要指定URIEncoding为UTF-8
<Connector ... URIEncoding="UTF-8"/>
...
</Connector>
|
三、配置多个服务
如果想配置多个服务怎么办?方案有两种:
1、就是刚才拷贝的example/solr换成example/multicore/,按照这里面的配置出来的就是多实例的
2、也可以这样:
把刚才的文件复制一份,就出来另外个实例。
比如接着刚才的,继续配置site:
1、cp -a /var/www/run/index/solr1 /var/www/run/index/solr2
2、然后修改索引文件位置
3、cp $CATALINA_HOME/conf/Catalina/localhost/solr1.xml $CATALINA_HOME/conf/Catalina/localhost/solr2.xml
4、然后修改docBase和solr/home的值为新的位置
5、启动tomcat,你会发现就可以访问 http://localhost:8080/solr2
再增加?以此类推。
四、配置中文分词器
我还是比较落后,solr是1.4.0采用的lucene-core-2.9.1,所以分词器我采用的是IKAnalyzer3.1.6GA .看作者的说明:http://linliangyi2007.iteye.com/blog/512577。
现在的版本应该是:3.2.5stable,可以到这里关注一下:http://code.google.com/p/ik-analyzer/downloads/list ,有高版本的可用下载。要注意对应哦。
说明下如何使用吧:
比如你要某个字段要中文分词,那么需要
1、在某个实例下的conf/schema.xml配置文件中的types下配置一个fieldType
<fieldType name="text" class="solr.TextField" >
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory14" isMaxWordLength="false"/>
<filter class="solr.StopFilterFactory"
ignoreCase="true" words="stopwords.txt"/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1"
generateNumberParts="1"
catenateWords="1"
catenateNumbers="1"
catenateAll="0"
splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EnglishPorterFilterFactory"
protected="protwords.txt"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory14" isMaxWordLength="true"/>
<filter class="solr.StopFilterFactory"
ignoreCase="true" words="stopwords.txt"/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1"
generateNumberParts="1"
catenateWords="1"
catenateNumbers="1"
catenateAll="0"
splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EnglishPorterFilterFactory"
protected="protwords.txt"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldType>
2、在索引字段name上应用
<field name="name" type="text" indexed="true" stored="true" required="true" />
3、拷贝jar包(IKAnalyzer3.1.6GA.jar)到tomcat使用的lib下,两个位置选一个:
$CATALINA_HOME/lib/
$CATALINA_HOME/webapps/solr1/WEB-INF/lib/
选择第二种的话,每个实例注意都要在WEB-INF/lib/下面拷贝该jar包。
遗漏:最近发现在window机器上,某些配置不行的机器,会出现堆溢出,还是配置多核比较节省内存。接着2的过程,配置多核的例子:
- 删除$CATALINA_HOME/conf/Catalina/localhost/下面的sorl2或者你还有solr3
- 重命名solr1.xml为solr.xml,修改solr.xml的内容为:
<Context docBase="/var/www/run/index/solr.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="/var/www/run/index/ override="true" />
</Context>
- 拷贝example\multicore下面的solr.xml到 /var/www/run/index ,修改cores内容为:
<cores adminPath="/admin/cores">
<core name="solr1" instanceDir="solr1" />
<core name="solr2" instanceDir="solr2" />
</cores>
- 删除原来的$CATALINA_HOME/webapps下面的solr1 solr2
- 启动tomcat拷贝IKAnalyzer3.1.6GA.jar到新的solr下的lib,再重启tomcat,OK.
分享到:
相关推荐
"IKAnalyzer中文分词器V2012_FF使用手册.pdf"是分词器的使用指南,提供了详细的配置和使用方法,包括如何集成到Solr中,如何定制词典,以及如何调整分词器参数以达到最佳效果。 "LICENSE.txt"和"NOTICE.txt"是开源...
**Solr中文分词器IK Analyzer** Solr作为一款强大的全文搜索引擎,对于中文处理有着特殊的需求,因为中文的语义分析比英文复杂得多。IK Analyzer是专门为了解决这个问题而设计的,它是一款开源的、高性能的、适用于...
IKAnalyzer是一款专为中文处理设计的开源分词器,它主要应用于搜索引擎、信息检索系统、文本挖掘等领域。这款工具能够高效地对中文文本进行分词,使得计算机可以更好地理解和处理中文信息。IKAnalyzer的名字来源于...
Solr是中国最流行的开源搜索引擎平台之一,而IK Analyzer是一款针对中文的高性能分词器,尤其在处理现代汉语的复杂情况时表现出色。本教程将详细解释如何在Solr中安装和使用IK分词器。 首先,让我们理解一下什么是...
ikanalyzer分词器是一款在Java环境下广泛使用的中文分词工具,尤其在搜索引擎和文本分析领域中扮演着重要角色。它的核心是ikanalyzer.jar类库,这个库包含了分词算法和其他必要的支持类,使得开发者能够轻松地集成到...
**IKAnalyzer中文分词器V3.2使用详解** IKAnalyzer是一款开源的、适用于Java环境的中文分词器,主要用于解决在信息检索、文本挖掘等领域中遇到的中文处理问题。这款分词器的设计目标是提高分词的准确率,并且具有...
2. **配置分析器**:在Solr的schema.xml文件中,配置默认的分析器为IKAnalyzer,指定词典路径。 3. **重启Solr**:完成配置后,重启Solr服务使改动生效。 4. **测试验证**:创建或更新索引,然后通过Solr的Admin UI...
IKAnalyzer是一款基于Java实现的开源中文分词器,主要应用于搜索引擎和文本分析领域。它是由尹国平(iK)发起并维护的项目,旨在提供一个高效且易用的中文分词解决方案。IKAnalyzer支持自定义扩展字典,允许用户根据...
Ikanalyzer 是一个专门针对中文分词的开源分析器,它是 Lucene 和 Solr 中文分词的一个解决方案。Ikanalyzer 的设计目标是简化中文分词的配置和使用,使其能够更好地适应各种应用场景。在 Solr 7.3.1 版本中,ik...
网上有很多关于IKAnalyzer分词器的jar,但当我们使用solr 6.x进行配置的时候,就发现会各种各样的报错,最常出现的问题就是抽象方法错误,其实就是因为我们使用的IKAnalyzer版本和solr版本不匹配导致系统无法根据...
IKAnalyzer是一款针对中文处理的开源分词工具,广泛应用于搜索引擎、信息检索系统、文本挖掘等领域。它是基于Java语言开发的,能够很好地与Lucene、Solr等全文检索框架集成,提供高效的中文分词能力。 首先,我们要...
4. **IKAnalyzer中文分词器V2012_FF使用手册.pdf**:这份手册提供了 ik 分词器的基本使用方法和技术细节,包括分词算法、配置选项以及常见问题解答。虽然手册可能基于较旧的版本,但其中的许多原理和方法仍然适用于 ...
IKAnalyzer3.1.1中文分词器是针对中文文本处理的一款强大工具,主要用于中文文本的分词。在自然语言处理、搜索引擎构建、信息检索等领域,分词是基础且关键的一步,因为中文没有明显的空格来区分单词,所以需要通过...
压缩包中包含的`IKAnalyzer中文分词器V3.0使用手册.pdf`是一份详细的指南,它详细介绍了如何使用IKAnalyzer,包括API的使用、配置的调整以及常见问题的解决方案。建议开发者在开始使用前仔细阅读这份手册,以便更好...
**IKanalyzer分词器详解** IKAnalyzer是一款开源的、基于Java实现的中文分词工具,主要用于对中文文本进行分词处理。它以其高效、灵活的特性,在许多Java开发的搜索引擎和自然语言处理项目中得到广泛应用。这个"IK...
在这个"solr_5.0_tomcat7_IKAnalyzer中文分词安装及demo"的压缩包中,你将找到如何在Solr 5.0中集成IKAnalyzer并进行演示的详细步骤。 首先,我们需要了解Solr与IKAnalyzer的集成过程: 1. **下载和解压**:获取...
解压后,你会看到一个名为`server`的目录,其中包含了Solr服务器的核心组件,如`solr.xml`配置文件,`start.jar`启动脚本,以及`solr`目录,里面包含了多个预配置好的Solr实例。 接下来,我们关注IK分词器的安装。...
IKAnalyzer是一款广泛应用于Java环境中的开源中文分词器,尤其在全文检索和自然语言处理领域有着重要的作用。这款工具主要用于解决中文文本的切分问题,为搜索引擎、信息检索系统等提供支持。IKAnalyzer 5.0是其针对...
3. **配置Solr实例**:在Solr的配置文件中(如`solrconfig.xml`),设置分词器路径和相关参数。 4. **上传数据**:使用Solr的`update`接口或者SolrJ等客户端工具,将需要索引的中文文本导入Solr。 5. **测试与优化**...