完整版见 https://jadyer.github.io/2013/08/20/solr-tomcat/
/**
* 【Lucene3.6.2入门系列】第13节_Solr3.6.2简介以及整合Tomcat
* @see Solr是一个高性能的,采用Java5开发的,基于HTTP和Lucene实现的开源企业级全文搜索引擎
* @see 可以粗暴的理解为:Lucene专注于搜索底层实现及算法优化,Solr专注于高层次的为企业服务的易于使用和管理的搜索服务器
* @see 再粗暴一点理解为:Lucene和Solr的关系类似于,Ajax和jQuery,Servlet和Struts2,JAX-WS和CXF,NIO和Mina的关系
* @see SolrJ是Solr提供的基于Java的访问Solr服务器的接口,它提供了对Solr服务器进行索引的CRUD(增删改查)和优化的相关接口
* @see --------------------------------------------------------------------------------------------------------------------------
* @see 官网:http://lucene.apache.org/solr/
* @see 下载:http://archive.apache.org/dist/lucene/solr/
* @see 文档:http://wiki.apache.org/solr/
* @see http://wiki.apache.org/solr/SolrInstall
* @see http://wiki.apache.org/solr/Solrj
* @see http://wiki.apache.org/solr/SolrCloud
* @see http://wiki.apache.org/solr/SolrCloud%20using%20Jboss
* @see 启动:解压apache-solr-3.6.2.zip中的example文件夹到本地硬盘,然后命令行执行[java -jar start.jar]便启动了Solr服务器
* @see 然后访问http://127.0.0.1:8983/solr/即可
* @see --------------------------------------------------------------------------------------------------------------------------
* @see 与Tomcat整合
* @see 0)前提是到Solr官方下载到apache-solr-3.6.2.zip
* @see 1)在本地硬盘新建文件夹D:\Develop\apache-solr-3.6.2\文件夹
* @see 2)再新建D:\Develop\apache-solr-3.6.2\home\文件夹
* @see 3)将下载的apache-solr-3.6.2.zip\example\solr\里面的内容拷贝到上一步新建的home文件夹中
* @see 4)清空D:\Develop\apache-solr-3.6.2\home\data\文件夹里的内容
* @see 5)再新建D:\Develop\apache-solr-3.6.2\server\文件夹
* @see 6)将下载到的apache-solr-3.6.2.zip\example\webapps\里面的solr.war拷贝到上一步新建的server文件夹中
* @see 然后将solr.war中的文件解压在当前目录,即server文件夹中
* @see 7)编辑D:\Develop\apache-solr-3.6.2\home\conf\solrconfig.xml的第114行为下面的值
* @see <dataDir>${solr.data.dir:D:\Develop\apache-solr-3.6.2\home\data}</dataDir>
* @see 其实这一步也可以把data目录放到环境变量中,然后使用${environmentVariable}就引用到了
* @see 8)编辑D:\Develop\apache-tomcat-6.0.36\conf\server.xml的第144行(即<Hots>标签中)为下面的值
* @see <Context path="/solr" docBase="D:\Develop\apache-solr-3.6.2\server\solr" reloadable="false"/>
* @see 9)为<Context/>设置相应的环境变量,指明Solr的主目录的地址,修改好后是这样的
* @see <Context path="/solr" docBase="D:\Develop\apache-solr-3.6.2\server\solr" reloadable="false">
* @see <Environment name="solr/home" type="java.lang.String" value="D:\Develop\apache-solr-3.6.2\home" override="true"/>
* @see </Context>
* @see 10)启动Tomcat,然后访问http://127.0.0.1:8088/solr/即可
* @see [注意事项]
* @see 对于apache-solr-3.5.0.zip而言,最后在启动Tomcat时可能会报告下面的异常
* @see 严重: org.apache.solr.common.SolrException: Error loading class 'solr.VelocityResponseWriter'
* @see Caused by: java.lang.ClassNotFoundException: solr.VelocityResponseWriter
* @see 这时就要修改D:\Develop\apache-solr-3.6.2\home\conf\solrconfig.xml文件的第1554行(对于solr-3.6.2而言就是第1573行)
* @see <queryResponseWriter name="velocity" class="solr.VelocityResponseWriter" enable="${solr.velocity.enable:false}"/>
* @see 如果在取消了(即设置为false)VelocityResponseWriter输出格式后,重启Tomcat还是报告此异常,那就直接把这行代码注释掉应该就可以了
* @see --------------------------------------------------------------------------------------------------------------------------
* @see D:\Develop\apache-solr-3.6.2\home\conf\schema.xml
* @see 1)这个文件中定义了大量的域,而且每个域都指定了fieldType,fieldType中定义了每个域使用的分词器
* @see 2)我们可以直接用solr定义好的域,也可以自定义域,并且solr提供的大量域中第一个域是id域,它的required是true,即必须的
* @see 我们可以直接用它的id域,也可以自定义id域,但只能有一个域required="true"
* @see 3)并且程序中使要用的域名,都要在schema.xml中指定好,否则会报告下面的异常
* @see org.apache.solr.common.SolrException: ERROR: [doc=1] unknown field 'content'
* @see 4)该文件的第1026行可以配置默认的搜索域<defaultSearchField/>
* @see 这个指的就是http://127.0.0.1:8088/solr/admin/界面中的Query String
* @see --------------------------------------------------------------------------------------------------------------------------
*/
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/jadyer/article/details/10104077
内容来源于网络,如有侵权,请联系作者删除!