windows环境tomcat8配置Solr5.5.1

前言

       前前后后接触Solr有一个多月了,想趁着学习Solr顺便把java拾起来。我分别用4.X和5.X版本在windows环境下用jetty的方式、tomcat部署的方式自己搭建了一把。其中从4.x到5.x和6.x的变化还是有的。搭建起来Solr后我分别用调用http接口的方式、SolrNet实现了索引的增删改查,在使用SolrNet开发时发现查询时不时的还报错,不知道是不是因为Solr的版本太高。  在学习Solr的过程中参考几位师傅的博客,从搭建平台、创建索引、搜索索引数据、中文分词都了解了一些,后面会把这些都整理出来。 文章最后我会贴出链接。

Solr搭建工作

1、下载solr windows安装包。这里我用的是5.5.1。下载完成后解压缩。 5.X版本中example包含几个入门的非结构化文件:csv、json、xml。可通过post.jar命令导入以便如入门。部署的话则要用到server

     

2、安装tomcat8。把solr-5.5.1/server/solr-webapp文件夹下的webapp目录复制拷贝到Tomcat/webapps文件夹内并重命名webapp目录名为solr

3、把solr-5.5.1/server/lib/ext中的jar包复制到Tomcat/webapps/solr/WEB-INF/lib目录中。

4、在任意盘符新建solr_home文件夹(我在D盘创建)。把solr-5.5.1/server/solr目录复制到solr_home下。这个目录也就是后面你创建索引实例Core需要用到的目录。配置文件(schema.xml)和索引都保存在这里。

5、把solr-5.5.1/server/resources下的log4j.properties复制到Tomcat/webapps/solr/WEB-INF/classes目录内。如果classes不存在手动创建。

6、配置web.xml。打开Tomcat/webapps/solr/WEB-INF下的web.xml。找到如下配置内容

    

<env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>/put/your/solr/home/here</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
 </env-entry>

 放开注释,并修改env-entry-value为你的solr_home地址。我的地址是d:/solr_home/solr

 OK。保存。顺便重启下tomcat。然后在浏览器输入http://localhost:8080/solr/index.html。 刚开始我配置完后直接输入http://localhost:8080/solr 回车提示404. 4.x部署这样是能打开的,5.x必须输入到index.html。 出现下图则说明你的solr Admin UI搞定了。

  

 创建Core

       5.x没有了默认的Core,需要自己配置。在d:/solr_home/solr创建Core目录,我起名univeral并把d:/solr_home/solr/configsets目录内的conf目录复制进去并创建data文件夹,conf放配置文件,data放索引数据(index data)。打开Admin UI 左侧有Core Admin。 把表单中的name和instanceDir输入univeral。 然后点击【Add Core】

小试牛刀之创建索引

    在Admin UI中选择左下方的Core Selector找到你刚才创建的universal实例。点击展开菜单。选择documents。

    注意:当你点击【Submit Document】按钮时会提示你Field title不存在,这是因为你的schema.xml没配置这个字段。在d:/solr_home/solr/univeral/conf下找到managed-schema(老版本是schema.xml),打开配置field字段。

   右侧出现Status:success则说明索引创建成功.

小试牛刀之搜索

     在Solr Admin UI 左侧Core实例菜单中点击Query。默认q=*:*查询全部。 solr查询使用的http get接口。包括字段筛选、关键字查询、高亮、facet(垂直分片查询)都在get路径里输入参数。

总结

      刚开始摸索Solr,有很多东西搞的还不是很清楚,后面我想基于.net和java把创建索引、搜索接口、中文分词这块都做一做。 下面是我学习过程中参考的博客

     http://martin3000.iteye.com/blog/1330106

     http://www.cnblogs.com/zhangweizhong/p/5044858.html

     http://blog.csdn.net/qing419925094/article/category/2357449

原文地址:https://www.cnblogs.com/sword-successful/p/5594918.html