solr是什么
Solr 是Apache下的一個頂級開源項(xiàng)目,采用Java開發(fā),它是基于Lucene的全文搜索服務(wù)器酸员。
solr可以獨(dú)立運(yùn)行蜒车,運(yùn)行在Jetty、Tomcat等這些Servlet容器中沸呐。
solr原理
Solr對外提供標(biāo)準(zhǔn)的http接口來實(shí)現(xiàn)對數(shù)據(jù)的索引的增加醇王、刪除、修改崭添、查詢寓娩。
在 Solr 中,用戶通過向部署在servlet 容器中的 Solr Web 應(yīng)用程序發(fā)送 HTTP 請求來啟動索引和搜索呼渣。Solr 接受請求棘伴,確定要使用的適當(dāng)SolrRequestHandler,然后處理請求屁置。通過 HTTP 以同樣的方式返回響應(yīng)焊夸。默認(rèn)配置返回 Solr 的標(biāo)準(zhǔn) XML 響應(yīng),也可以配置 Solr 的備用響應(yīng)格式蓝角。
Solr的安裝與配置
安裝
- Jdk
- Solr
- Tomcat
配置
/usr/local/solr/tomcat
- Solr整合tomcat
- 將dist\solr-4.10.3.war拷貝到Tomcat的webapp目錄下改名為solr.war
- 啟動tomcat后阱穗,solr.war自動解壓,將原來的solr.war刪除使鹅。
- 拷貝example\lib\ext 目錄下所有jar包到Tomcat的webapp\solr\WEB-INF\lib目錄下
- 創(chuàng)建solrhome
[root@localhost example]# cp -r solr /usr/local/solr/solrhome
- 修改Tomcat目錄 下webapp\solr\WEB-INF\web.xml文件揪阶,如下所示:
設(shè)置Solr home:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/solr/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
安裝中文分詞器
配置IKAnalyzer的jar包
將IKAnalyzer2012FF_u1.jar拷貝到 Tomcat的webapps/solr/WEB-INF/lib 下
IKAnalyzer的配置文件
在Tomcat的webapps/solr/WEB-INF/下創(chuàng)建classes目錄
將IKAnalyzer.cfg.xml、ext_stopword.dic mydict.dic copy到 Tomcat的
webapps/solr/WEB-INF/classes
修改schema.xml文件
修改Solr的schema.xml文件患朱,添加FieldType:
/solrhome/collection1/conf/schema.xml
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
設(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"/>
Dashboard操作
打開鏈接 http://192.168.176.102:8080/solr/#/