首先你需要準備以下資源:
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開發(fā)的應該知道這是一個放java編譯好的字節(jié)碼文件的目錄)
把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,我們要創(chuàng)建了solrCore了.
在solrHome中新建一個文件夾命名為myCore
把solr-5.5.4\server\solr\configsets\sample_techproducts_configs目錄下的conf文件夾復制到剛剛新建的myCore中
再次啟動tomcat
-
如圖所示加入剛剛創(chuàng)建solrCore
可以看到,這樣就成功創(chuàng)建了一個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學習"}
- 現在我們查詢一下剛剛創(chuàng)建的索引,先查詢所有:
可以看到剛剛我們已經建立的索引.
-
現在我們對對title字段進行搜索
也是可以的.現在我們再看下title字段在managed-schema的配置:
<field name="title" type="text_general"indexed="true" stored="true"multiValued="true"/>
類型是text_general,從配置中看是一個StandardTokenizerFactory分詞器
-
同樣,solr管理頁面也提供的分詞器的使用,還可以看到剛剛建立索引那段文本的倒排索引
這個分詞器對中文的分詞不友好,所以用ik分詞器對中文分詞是比較合適的