Solor 簡介
** Solr** 是Apache
下的一個頂級開源項目,采用Java
開發,它是基于Lucene
的全文搜索服務器。Solr
提供了比Lucene
更為豐富的查詢語言,同時實現了可配置、可擴展,并對索引、搜索性能進行了優化。Solr
可以獨立運行,運行在Jetty
、Tomcat
等這些Servlet
容器中,Solr
索引的實現方法很簡單,用 POST
方法向 Solr
服務器發送一個描述 Field
及其內容的 XML
文檔,Solr
根據xml
文檔添加、刪除、更新索引 。Solr
搜索只需要發送 HTTP GET
請求,然后對 Solr
返回Xml
、json
等格式的查詢結果進行解析,組織頁面布局。Solr
不提供構建UI的功能,Solr
提供了一個管理界面,通過管理界面可以查詢Solr
的配置和運行情況。
Solor安裝及Solr使用指南
tar -zxvf solr-4.10.3.tgz.tgz
bin:solr的運行腳本
contrib:solr的一些貢獻軟件/插件,用于增強solr的功能。
dist:該目錄包含build過程中產生的war和jar文件,以及相關的依賴文件。
docs:solr的API文檔
example:solr工程的例子目錄:
example/solr:該目錄是一個包含了默認配置信息的Solr的Core目錄。
example/multicore:該目錄包含了在Solr的multicore中設置的多個Core目錄。
example/webapps:該目錄中包括一個solr.war,該war可作為solr的運行實例工程。
licenses:solr相關的一些許可信息
Solr依賴環境
Jdk:jdk1.7.0_72
Tomcat:apache-tomcat-7.0.53
cp -r solr-4.10.3/dist/solr-4.10.3.war /usr/local/tomcat/webapps/solr.war
cd /usr/local/tomcat/bin/
./startup.sh #solr.war自動解壓
./shutdown.sh #關閉tomcat
rm -rf solr.war
cp solr-4.10.3/example/lib/ext/*.jar /usr/local/tomcat/webapps/solr/WEB-INF/lib/
cp solr-4.10.3/example/resources/log4j.properties /usr/local/tomcat/webapps/solr/WEB-INF/classes/
# 創建Solorhome
cp -r solr-4.10.3/ /usr/local/solr
cd /usr/local/solr/example
cp -r solr solrhome
pwd /usr/local/solr/example/solrhome
vim web.xml
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/solr/example/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
./startup.sh
IKAnalyzer配置
mkdir webapps/solr/WEB-INF/classes
cp IKAnalyzer2012FF_u1.jar /usr/local/tomcat/webapps/solr/WEB-INF/lib
cp IKAnalyzer.cfg.xml ext_stopword.dic mydict.dic webapps/solr/WEB-INF/classes
vim /usr/local/solr/example/solrhome/collection1/conf/schema.xml
#配置FeilType
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
<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"/>
Solor 索引庫維護
"item_price":12,"item_title":"shutdown" #添加:添加一個json格式文件
"item_price":12,"item_title":"shutdown" # 修改:新增會自動覆蓋
#刪除:在Documents 中選xml格式的
<delete>
<id>change.me</id>
</delete>
<commit/>
或者
<delete>
<query>*:*</query>
</delete>
<commit/>