Solr是一个全文检索服务器,基于Lucene3.5开发的,我们可以在solr的基础上进行定制化的开发。
要进行solr开发首先得搭建一个solr服务器。
1、首先我们下载solr3.5和lucene3.5,分别在:
Solr:http://apache.etoak.com//lucene/solr/3.5.0
Lucene: http://apache.etoak.com//lucene/java/3.5.0/
2、将apache-solr-3.5.0\apache-solr-3.5.0\dist\apache-solr-3.5.0.war复制到apache-tomcat-6.0.29\webapps目录下面,
改名为solr.war,并启动tomcat,浏览http://localhost:8080/solr/,没有出错表示已经部署没有问题,停tomcat。
3、apache-solr-3.5.0\apache-solr-3.5.0\example\multicore复制到apache-tomcat\webapps\solr\conf下面
4、配置war运行的context上下文,在apache-tomcat\conf\Catalina\localhost创建文件solr.xml文件,此文件内容为:
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="${catalina.home}/webapps/solr.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String"
value="${catalina.home}/webapps/solr/conf/multicore" override="true" />
</Context>
5、这个配置也可以写死到Tomcat 5.5\conf\web.xml里去,找到
<!-- solr-->
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>${catalina.home}/webapps/solr/conf/multicore</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
6、启动tomcat,访问http://localhost:8080/solr。出现两个链接Admin core0和Admin core1则搭建成功
7、配置上solr默认安装时一个Solr 的主目录
将上述Tomcat 5.5\conf\web.xml中的配置 <env-entry-value>${catalina.home}/webapps/solr/conf/multicore</env-entry-value>
改为 <env-entry-value>${catalina.home}/webapps/solr/conf/solr</env-entry-value>
将apache-solr-3.5.0\apache-solr-3.5.0\example\下的solr文件夹内容拷贝在/webapps/solr/conf/下。
8、配置solrconfig.xml文件找到
<!-- The solr.velocity.enabled flag is used by Solr's test cases so that this response writer is not
loaded (causing an error if contrib/velocity has not been built fully) -->
<queryResponseWriter name="velocity" class="solr.VelocityResponseWriter" enable="${solr.velocity.enabled:true}"/>
看注释也知道这是一个测试项目中的一个response writer,没有加载,因为没有built fully,所以先注释掉。要不然会起不来的。
还要注意的是下面
<lib dir="../../contrib/extraction/lib" />
<lib dir="../../contrib/clustering/lib/" />
<lib dir="../../contrib/velocity/lib" />
<!-- When a regex is specified in addition to a directory, only the
files in that directory which completely match the regex
(anchored on both ends) will be included.
-->
<lib dir="../../dist/" regex="apache-solr-cell-\d.*\.jar" />
<lib dir="../../dist/" regex="apache-solr-clustering-\d.*\.jar" />
<lib dir="../../dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" />
<lib dir="../../dist/" regex="apache-solr-langid-\d.*\.jar" />
<lib dir="../../dist/" regex="apache-solr-velocity-\d.*\.jar" />
<!-- If a dir option (with or without a regex) is used and nothing
is found that matches, it will be ignored
-->
<lib dir="../../contrib/clustering/lib/" />
注意这个lib的加载路径一定要设置好,先从解压的工程中找出这些路径下的lib放到webapps的solr里面的一个路径中,并配置上
我配置的路径是:
<lib dir="solr/WEB-INF/lib/contrib/extraction/lib" />
<lib dir="solr/WEB-INF/lib/contrib/clustering/lib/" />
<lib dir="solr/WEB-INF/lib/contrib/velocity/lib" />
<!-- When a regex is specified in addition to a directory, only the
files in that directory which completely match the regex
(anchored on both ends) will be included.
-->
<lib dir="solr/WEB-INF/lib/dist/" regex="apache-solr-cell-\d.*\.jar" />
<lib dir="solr/WEB-INF/lib/dist/" regex="apache-solr-clustering-\d.*\.jar" />
<lib dir="solr/WEB-INF/lib/dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" />
<lib dir="solr/WEB-INF/lib/dist/" regex="apache-solr-langid-\d.*\.jar" />
<lib dir="solr/WEB-INF/lib/dist/" regex="apache-solr-velocity-\d.*\.jar" />
<!-- If a dir option (with or without a regex) is used and nothing
is found that matches, it will be ignored
-->
<lib dir="solr/WEB-INF/lib/contrib/clustering/lib/" />
启动后没有问题
9、配置IK分析器,我使用的是IKAnalyzer3.2.8 版本
将IKAnalyzer的jar包导入刚生成的项目中lib目录下,并修改其下schema.xml
<!-- IKAnalyzer3.2.8 中文分词-->
<fieldType name="text" class="solr.TextField">
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
如果采用上面的这种方式,那么相当于我们重新定义了一种fieldType,在后面的fields中需要把那些text_general修改为text,
为了避免这种麻烦,我们可以修改原有的text_general类型:
找到fieldType name="text_general" ,修改其中的<tokenizer class="solr.StandardTokenizerFactory"/>为
<tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="true"/>
这样就不需要修改后面的配置了。
10.http://localhost:8080/solr/admin/analysis.jsp下测试分词效果
分享到:
相关推荐
总结来说,这个项目提供了一个预配置的搜索解决方案,集成了强大的Tomcat服务器、高效的Solr搜索引擎以及适应中文处理的IKAnalyzer,对于需要快速搭建支持中文搜索的Web应用的开发者来说,这是一个非常便利的工具。
ikanalyzer-solr8.4.0 包含了与 Solr 8.4.0 版本兼容的 ikanalyzer 配置和类库。在使用这个包时,我们需要将其正确地集成到 Solr 的配置中。这通常涉及到以下步骤: 1. **下载与解压**:首先,下载并解压 ik...
【标题】"tomcat8.5+solr7+IKAnalyzer5+ikpinyin直装版" 提供了一个集成的搜索引擎环境,其中包含了Tomcat 8.5作为应用服务器,Solr 7作为核心搜索引擎,以及IKAnalyzer5和ikpinyin这两个中文分词插件。这个组合特别...
总的来说,Solr 4.10.3与IK Analyzer的组合为开发者提供了一个强大的平台,用于搭建和管理高性能的中文搜索应用。无论是对于企业内部的信息检索,还是面向公众的网站搜索,这种搭配都能提供优秀的解决方案。
NULL 博文链接:https://lpyyn.iteye.com/blog/2074539
在这个场景下,Tomcat 作为一个流行的 Java 应用服务器,常常被用来部署 Solr。下面我们将详细讨论如何将 Solr 3.5 版本整合到 Tomcat 中。 首先,我们需要了解 Solr 3.5 的主要特性。这个版本包含了对搜索性能的...
IKAnalyzer是中国开源社区推出的一款高性能、易用的中文分词工具,主要针对Lucene等全文检索引擎进行设计和优化。它的全称为“Intelligent Chinese Analyzer for Lucene”,旨在提升中文在全文检索领域的处理效率和...
【标题】"Tomcat8+Solr7.4+IK"是一个在Linux环境下搭建的搜索引擎解决方案,其中包含了Apache Tomcat 8作为应用服务器,Solr 7.4作为搜索引擎核心,以及IK Analyzer作为中文分词工具。这个配置适用于需要处理大量...
通过以上步骤,你就成功地在Tomcat7上安装并配置了Solr 5.0.0,同时集成了IKAnalyzer实现中文分词。这使得你可以处理中文文本,提高搜索准确性和用户体验。记得定期更新Solr和IKAnalyzer,以获取最新的性能优化和...
#### 三、Solr 3.5与IKAnalyzer 3.2.8分词器的整合 - **IKAnalyzer介绍**:IKAnalyzer是一款专为中文设计的高效、灵活的分词组件,广泛应用于中文文本处理领域。 - **下载与集成**: - 下载IKAnalyzer 3.2.8,链接...
在描述中提到的"ik-analyzer-solr7.zip"是一个专门为Apache Solr 7.x版本定制的IKAnalyzer分词器插件。Solr是Apache软件基金会的一个项目,它是一款强大的全文搜索服务器,提供了诸如索引、搜索、高亮显示、拼写检查...
IKAnalyzer是一款开源的中文分词器,最初设计用于Solr,但后来也被广泛应用于Elasticsearch。它支持多种分词模式,包括精确模式、全模式、快速模式以及自定义词典。IKAnalyzer的优势在于其对中文词汇的精准识别,...
Lucene开发所需其他架包和中文分词器(solr3.5+IKAnalyzer3.2.8),没有加入Lucene包,需要可去http://archive.apache.org/dist/lucene/java/4.10.3/下载相应包。
"solr 3.5 msg整合可直接使用"的标题意味着这个压缩包包含了一个已经配置好并且可以立即运行的Solr 3.5实例,特别地,它可能已经集成了某种消息处理或通信机制(可能指的是message5_1),以便于数据的导入和检索。...
Solr4.1 + IK中文分词是针对Apache Solr搜索引擎的一个重要组合,它使得在中文环境下进行全文检索和分析变得更加高效和精确。Apache Solr是一个开源的企业级搜索平台,基于Lucene库,提供了高性能、可扩展的全文索引...
Ikik-analyzer-solr-6.6.2 中文分词器适用于6.6.2版本和相关配置文件
ikanalyzer-solr5 是一个专门为 Solr 5 及以上版本设计的中文分词器插件。在信息检索和自然语言处理领域,分词器是至关重要的工具,它负责将连续的文本切割成有意义的词语,以进行索引和查询操作。ikanalyzer 是一个...