首先你需要准备以下资源:
solr-5.5.4官方资源包[http://mirrors.hust.edu.cn/apache/lucene/solr/5.5.4/solr-5.5.4.zip](http://mirrors.hust.edu.cn/apache/lucene/solr/5.5.4/solr-5.5.4.zip)
tomcat 8的资源包[http://apache.fayea.com/tomcat/tomcat-8/v8.5.16/bin/apache-tomcat-8.5.16.zip](http://apache.fayea.com/tomcat/tomcat-8/v8.5.16/bin/apache-tomcat-8.5.16.zip)
下载完成后解压solr-5.5.4官方资源包和tomcat资源包
安装和配置:
把solr-5.5.4\server\solr-webapp目录下的webapp重命名为solr,并且复制到apache-tomcat-8.5.12\webapps目录下
打开apache-tomcat-8.5.12\webapps\solr\WEB-INF\web.xml 放开Solr Home注释的配置并且修改,配置上自己的目录(如果目录不存在则新建)
在apache-tomcat-8.5.12\webapps\solr\WEB-INF\目下新建classes目录(经常做java web开发的应该知道这是一个放java编译好的字节码文件的目录)
把solr-5.5.4\server\resources目录下的log4j.properties放入刚刚新建的apache-tomcat-8.5.12\webapps\solr\WEB-INF\classes目录下
把solr-5.5.4\server\lib\ext\目录下所有的jar文件放入到apache-tomcat-8.5.12\webapps\solr\WEB-INF\lib目录下(这一步骤和上一步骤主要是加入日志log4j的配置)
把solr-5.5.4\server\solr\目录下的solr.xml放入到之前建立的solrHome目录中
打开apache-tomcat-8.5.12\bin目录下的startup.bat启动tomcat,启动成功后访问http://127.0.0.1:8080/solr/admin.html
然后关闭tomcat,我们要创建了solrCore了.
在solrHome中新建一个文件夹命名为myCore
把solr-5.5.4\server\solr\configsets\sample_techproducts_configs目录下的conf文件夹复制到刚刚新建的myCore中
再次启动tomcat
-
如图所示加入刚刚创建solrCore
可以看到,这样就成功创建了一个solrCore
-
现在,我们尝试着建立一个索引.之前用过Lucene的同学应该知道,我们建立一个索引是需要Document和Field的,而这些Field呢,在Solr中可以在managed-schema中配置我们先打开刚刚建立的solrCore 目录中的solrHome\myCore\conf\managed-schema
可以看到,有一些例子字段已经配置了,我们来尝试用一下吧
-
因为solr是一个基于http的服务,所以它的管理界面也提供了solr的http请求工具
我们尝试建立一个索引,拼接好请求JSON串后,点击Submit Document,返回success说明已经成功建立了索引.
注意:因为id是主键,所以是唯一的
这里先建立两个索引:
{"id":"201701","title":"这是第一个索引","category":"solr学习"}
{"id":"201702","title":"这是第二个索引","category":"solr学习"}
- 现在我们查询一下刚刚创建的索引,先查询所有:
可以看到刚刚我们已经建立的索引.
-
现在我们对对title字段进行搜索
也是可以的.现在我们再看下title字段在managed-schema的配置:
<field name="title" type="text_general"indexed="true" stored="true"multiValued="true"/>
类型是text_general,从配置中看是一个StandardTokenizerFactory分词器
-
同样,solr管理页面也提供的分词器的使用,还可以看到刚刚建立索引那段文本的倒排索引
这个分词器对中文的分词不友好,所以用ik分词器对中文分词是比较合适的