solr搜索

安裝過程:linux

  原料:solr-4.10.3.tgz.tgzweb

  

1.1.1 安裝步驟

單獨一臺虛擬機先所有刪除:根目錄:rm * -rfapache

            cd /usr/local   \  rm solr* -rfjson

tomcat拷貝到solr下:vim

Mkdir /usr/local/solr     Cp tomcat /usr/local/solr/tomcat -rwindows

須要把solr服務器安裝到linux環境:tomcat

第一步:安裝linuxjdktomcat服務器

[root@bogon ~]# llapp

total 8044webapp

-rw-r--r--. 1 root root 8234674 Oct 27  2013 apache-tomcat-7.0.47.tar.gz

[root@bogon ~]# tar -zxf apache-tomcat-7.0.47.tar.gz 

[root@bogon ~]# ll

total 8048

drwxr-xr-x. 9 root root    4096 Sep 10 17:55 apache-tomcat-7.0.47

-rw-r--r--. 1 root root 8234674 Oct 27  2013 apache-tomcat-7.0.47.tar.gz

[root@bogon ~]# mkdir /usr/local/solr

[root@bogon ~]# cp apache-tomcat-7.0.47 /usr/local/solr/tomcat

cp: omitting directory `apache-tomcat-7.0.47'

[root@bogon ~]# cp apache-tomcat-7.0.47 /usr/local/solr/tomcat -r

[root@bogon ~]# cd /usr/local/solr/

[root@bogon solr]# ll

total 4

drwxr-xr-x. 9 root root 4096 Sep 10 17:56 tomcat

[root@bogon solr]#

第二步:solr的壓縮包上傳到服務器。並解壓。tar -zxf solr-4.tgz.tgz 

第三步:把/root/solr-4.10.3/dist/solr-4.10.3.war包部署到tomcat下。並更名爲solr.war

[root@bogon dist]# cp solr-4.10.3.war /usr/local/solr/tomcat/webapps/solr.war

第四步:解壓war包。啓動tomcat自動解壓。關閉tomcat。刪除solr.war.

cd tomcat bin/startup.sh  [tomcat]# bin/shutdown.sh

cd webapps rm -f solr.war

第五步:把/root/solr-4.10.3/example/lib/ext 目錄下全部的jar包複製到solr工程中。

[root@bogon ext]# cp * /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/

第六步:建立solrhomeSolrhome是存放solr服務器全部配置文件的目錄。

[root@bogon example]# pwd

/root/solr-4.10.3/example

[root@bogon example]# cp -r solr /usr/local/solr/solrhome

[root@bogon example]#

第七步:告訴solr服務器solrhome的位置。

cd tomcat/webapps/solr/web-infweb.xml文件

須要修改solr工程的web.xml文件。

第八步:啓動tomcat

Tall -f togs/catalina.out

 

1.1.1 配置業務字段

1solr中默認是沒有中文分析器,須要手工配置。配置一個FieldType,在FieldType中指定中文分析器。

2Solr中的字段必須是先定義後使用。

1.1.1.1 中文分析器的配置

第一步:使用IK-Analyzer。把分析器的文件夾(ak-analizer)上傳到服務器。

第二步:須要把分析器的jar包添加到solr工程中。

[root@bogon IK Analyzer 2012FF_hf1]# cp IKAnalyzer2012FF_u1.jar /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/

第三步:須要把IKAnalyzer須要的擴展詞典及停用詞詞典、配置文件複製到solr工程的classpath(新建mkdir classes)

/usr/local/solr/tomcat/webapps/solr/WEB-INF/classes

 

[root@bogon IK Analyzer 2012FF_hf1]# cp IKAnalyzer.cfg.xml ext_stopword.dic mydict.dic /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes

注意:擴展詞典及停用詞詞典的字符集必須是utf-8。不能使用windows記事本編輯。

 

第四步:配置fieldType。須要在solrhome/collection1/conf/schema.xml中配置。

      [solr]# vim solr/home/collection/conf/schema.xml

技巧:使用vivim跳轉到文檔開頭gg。跳轉到文檔末尾:G

在開頭或末尾添加如下東西

<fieldType name="text_ik" class="solr.TextField">

  <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>

</fieldType>

1.1.1.1 業務字段配置

業務字段判斷標準:

一、在搜索時是否須要在此字段上進行搜索。例如:商品名稱、商品的賣點、商品的描述

二、後續的業務是否須要用到此字段。例如:商品id

 

須要用到的字段:

一、商品id

二、商品title

三、賣點

四、價格

五、商品圖片

六、商品分類名稱

七、商品描述

 

Solr中的業務字段:

一、id—對應—》商品id

其餘的對應字段建立solr的字段。

把下面這些複製到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"/>

從新啓動tomcat

1.1 維護索引庫

添加:添加一個json格式的文件就能夠。

修改:在solr中沒有update,只須要添加一個新的文檔,要求文檔id和被修改文檔的id一致。原理是先刪除後添加。

刪除:使用xml格式。

 

 

刪除兩種方法:

1、根據id刪除:也是在document

<delete>(xml格式)

<id>test001</id>

</delete>

而且<commit/>

2、根據查詢刪除:

<delete>

<query>*:*</query>

</delete>

<commit/>

相關文章
相關標籤/搜索