什麼是solr?
Solr是如何實現全文檢索的呢?
索引流程:solr客戶端(瀏覽器、java程式)可以向solr服務端傳送POST請求,請求內容是包含Field等資訊的一個xml文件,通過該文件,solr實現對索引的維護(增刪改)
搜尋流程:solr客戶端(瀏覽器、java程式)可以向solr服務端傳送GET請求,solr伺服器返回一個xml文件。
Solr和lucene的區別:
① Lucene是一個全文檢索引擎工具包。
② Solr是一個全文檢索伺服器,Solr比lucene在開發全文檢索功能時,更快捷、更方便。Solr提供了更多的查詢語句,而且它可擴充套件、可配置,同時對lucene的效能進行了優化。
Solr安裝配置
下載地址:http://archive.apache.org/dist/lucene/solr/ 使用版本:5.5.4
執行環境
JDK:1.7及以上 Tomcat:tomcat7及以上
Solr部署Tomcat
第一步:將server/solr-webapp/webapp資料夾複製到tomcat webapps下重新命名為solr solr:
tomcat:第二步:複製log日誌jar包 所在位置:
將solr-5.5.4/server/resources/log4j.properties複製到solr-server/webapps/solr/WEB-INF/classes 如果classes資料夾不存在手動建立
Solr-home建立:
第一步:建立solrhome目錄,可以放到任意目錄下,這裡放到tomcat/webapps/solr專案下
第二步:複製Solr-home配置檔案到第一步建立的目錄下
第三步:配置solr應用的web.xml配置檔案
將劃線部分修改為真實solrhome的目錄解決solr6.0以上版本tomcat HTTP Status 403 - Access to the requested resource has been denied
註釋掉solr應用web.xml中<security-constraint>...</security-constraint>
裡面的內容即可。
Tomcat配置檔案server.xml配置上下文環境
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context docBase="solr" path="/solr"/>
</Host>
複製程式碼
到這裡Solr的部署已經完成,可以啟動Tomcat。
solr-core配置
第一步:複製solr-5.5.4/example/example-DIH/solr到solr-home目錄下重新命名為core1
Solr:
Tomcat:
第二步:將solr擴充套件程式包中的solr-dataimporthandler-5.5.4.jar、solr-dataimporthandler-extras-5.5.4.jar複製到Solr應用WEB-INF/lib目錄下
重啟Tomcat
Solr控制檯:
中文分詞器配置
中文分詞器大概有10幾種,包括word分詞器、Stanford分詞器、Ansj分詞器、HanLP分詞器、smartcn分詞器、FudanNLP分詞器、Jieba分詞器、Jcseg分詞器、MMSeg4j分詞器、IKAnalyzer分詞器等...
IKAnalyzer分詞器的配置
IKAnalyzer5.0下載地址:download.csdn.net/download/qq…
所需配置檔案和jar包
第一步:將ext.dic、IKAnalyzer.cfg.xml、stopword.dic複製到Solr應用的WEB-INF/classes目錄下
第二步:將IKAnalyzer-5.0.jar複製到Solr應用的WEB-INF/lib目錄下
第三步:配置managed-scheme,位於solr_home/core1/conf目錄下
配置中文分詞FieldType、Field
重啟Tomcat。
到此所有配置安裝已完成。後續會分享Solr、Lucene核心API使用。
以上屬於原創文章,轉載請註明作者@怪咖 QQ:208275451