Solr--企业级搜索应用服务器
1. 概述
1.1.什么是Solr
? ? ? ?Solr 是Apache下的一個(gè)頂級開源項(xiàng)目,采用Java開發(fā),它是基于Lucene的全文搜索服務(wù)器。Solr提供了比Lucene更為豐富的查詢語言,同時(shí)實(shí)現(xiàn)了可配置、可擴(kuò)展,并對索引、搜索性能進(jìn)行了優(yōu)化。
? ? ? ?Solr可以獨(dú)立運(yùn)行,運(yùn)行在Jetty、Tomcat等這些Servlet容器中,Solr 索引的實(shí)現(xiàn)方法很簡單,用 POST 方法向 Solr 服務(wù)器發(fā)送一個(gè)描述 Field 及其內(nèi)容的 XML 文檔,Solr根據(jù)xml文檔添加、刪除、更新索引。Solr 搜索只需要發(fā)送 HTTP GET 請求,然后對 Solr 返回Xml、json等格式的查詢結(jié)果進(jìn)行解析,組織頁面布局。Solr不提供構(gòu)建UI的功能,Solr提供了一個(gè)管理界面,通過管理界面可以查詢Solr的配置和運(yùn)行情況。
1.2. 下載
從Solr官方網(wǎng)站(http://lucene.apache.org/solr/)下載Solr4.10.3,根據(jù)Solr的運(yùn)行環(huán)境,Linux下需要下載lucene-4.10.3.tgz,windows下需要下載lucene-4.10.3.zip。
Solr使用指南可參考:https://wiki.apache.org/solr/FrontPage。
?
下載lucene-4.10.3.zip并解壓:
?
bin:solr的運(yùn)行腳本
contrib:solr的一些貢獻(xiàn)軟件/插件,用于增強(qiáng)solr的功能。
dist:該目錄包含build過程中產(chǎn)生的war和jar文件,以及相關(guān)的依賴文件。
docs:solr的API文檔
example:solr工程的例子目錄:
? ? ? ?example/solr:
???????? 該目錄是一個(gè)包含了默認(rèn)配置信息的Solr的Core目錄。
? ? ? ?example/multicore:
???????? 該目錄包含了在Solr的multicore中設(shè)置的多個(gè)Core目錄。
? ? ? ?example/webapps:
? ? ? ? ?該目錄中包括一個(gè)solr.war,該war可作為solr的運(yùn)行實(shí)例工程。
licenses:solr相關(guān)的一些許可信息
?
2.??Solr的安裝及配置
2.1. 運(yùn)行環(huán)境
?
solr 需要運(yùn)行在一個(gè)Servlet容器中,Solr4.10.3要求jdk使用1.7以上,Solr默認(rèn)提供Jetty(java寫的Servlet容器),本教程使用Tocmat作為Servlet容器,環(huán)境如下:
? ? ? ? Solr:Solr4.10.3
? ? ? ? Jdk:jdk1.7.0_72
? ? ? ? Tomcat:apache-tomcat-7.0.53
2.2. Solr整合tomcat
? ?1. 將dist\solr-4.10.3.war拷貝到Tomcat的webapp目錄下改名為solr.war
?
? ?2. 啟動(dòng)tomcat后,solr.war自動(dòng)解壓,將原來的solr.war刪除。
?
? ?3. 拷貝example\lib\ext目錄下所有jar包到Tomcat的webapp\solr\WEB-INF\lib目錄下
?
?
?
?
? ?4. 拷貝log4j.properties文件
? ? ? ? ? 在? Tomcat下webapps\solr\WEB-INF目錄中創(chuàng)建文件 classes文件夾,
? ? ? ? ? 復(fù)制Solr目錄下example\resources\log4j.properties至Tomcat下webapps\solr\WEB-INF\classes目錄
?
? ?5. 創(chuàng)建solrhome及配置solrcore的solrconfig.xml文件
? ?6. 修改Tomcat目錄下webapp\solr\WEB-INF\web.xml文件,如下所示:
設(shè)置Solr home
?
?
3.??Solr界面功能
?
?
?
?
4.??安裝中文分詞器
4.1. 安裝步驟
4.1.1.??第一步:配置IKAnalyzer的jar包
拷貝IKAnalyzer的文件到Tomcat下Solr目錄中
將IKAnalyzer2012FF_u1.jar拷貝到 Tomcat的webapps/solr/WEB-INF/lib下。
4.1.2.??第二步:IKAnalyzer的配置文件
在Tomcat的webapps/solr/WEB-INF/下創(chuàng)建classes目錄
將IKAnalyzer.cfg.xml、ext_stopword.dic、mydict.dic復(fù)制到 Tomcat的webapps/solr/WEB-INF/classes
注意:ext_stopword.dic 和mydict.dic必須保存成無BOM的utf-8類型。
4.1.3.??第三步:修改schema.xml文件
修改Solr的schema.xml文件,添加FieldType:
| <fieldType name="text_ik" class="solr.TextField"> ? <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/> </fieldType> |
?
4.1.4.??第四步:設(shè)置業(yè)務(wù)系統(tǒng)Field
設(shè)置業(yè)務(wù)系統(tǒng)Field
| <field name="item_title" type="text_ik" indexed="true" stored="true"/> <field name="item_sell_point" type="text_ik" indexed="true" stored="true"/> <field name="item_price"? type="long" indexed="true" stored="true"/> <field name="item_image" type="string" indexed="false" stored="true" /> <field name="item_category_name" type="string" indexed="true" stored="true" /> <field name="item_desc" type="text_ik" indexed="true" stored="false" /> ? <field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/> <copyField source="item_title" dest="item_keywords"/> <copyField source="item_sell_point" dest="item_keywords"/> <copyField source="item_category_name" dest="item_keywords"/> <copyField source="item_desc" dest="item_keywords"/> |
總結(jié)
以上是生活随笔為你收集整理的Solr--企业级搜索应用服务器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux c 调用python_C程序
- 下一篇: java基本数据类型存储,JAVA -