(1)Solr:配置搭建運行環境&數據導入

Solr是一個獨立的企業級搜索應用服務器,它對外提供類似於Web-service的API接口。用戶可以通過http請求,向搜索引擎服務器提交一定格式的XML文件,生成索引;也可以通過Http Get操作提出查找請求,並得到XML格式的返回結果。
首先下載Solr:
https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/ 選擇一個版本下載

當然,雖然Solr在5之後的版本中添加了jetty容器,自己本身就可以直接啓動,但是實際使用時還是需要將Solr部署到我們自己的容器中,這裏選用tomcat來講。

自帶jetty容器啓動方法
使用自帶jetty容器的啓動方式如下,進入Solr解壓後的文件夾..\bin.
運行命令行:solr.cmd start[-p port],[-p port]爲可選項,爲指定端口號,可以看到Solr的默認端口號爲8983.
這裏寫圖片描述

瀏覽器訪問:http://localhost:8983/solr/#/ 即可訪問管理界面
這裏寫圖片描述

退出時命令行輸入:solr.cmd stop -p 8983 即可關閉對應端口的Solr服務器

tomcat中部署
因爲我現在使用的電腦上使用的是JDK1.7,所以Solr選用5.5.5版本,tomcat選用8。版本對應關係可以到下面的網頁查看:
https://www.cnblogs.com/gaoxu007/p/7210581.html
tomcat8下載
https://tomcat.apache.org/download-80.cgi

1.首先將Solr解壓,將..\server\solr-webapp中的webapp複製到tomcat的..\webapps路徑下,然後重命名爲solr。(PS:這裏有個很奇怪的情況,如果重命名爲solr2,solrx什麼的名字,之後再運行tomcat時,Solr管理界面上會出現錯誤,初步懷疑是還有一些相關的配置也需要修改,也可能是Solr版本過老導致的)

2.將Solr文件中..\server\lib\ext下的jar包全部拷貝到tomcat下..\webapps\solr\WEB-INF\lib文件夾中。

3.將Solr文件夾中..\dist中的solr-dataimporthandler-5.5.5.jar和solr-dataimporthandler-extras-5.5.5.jar拷貝到tomcat下..\webapps\solr\WEB-INF\lib文件夾中。(core數據導入時會用到)

4.將Solr下..\server中的solr文件夾拷貝到tomcat下..\webapps\solr文件夾中,重命名爲solr-home。

5.在tomcat下..\webapps\solr\WEB-INF新建一個文件夾,重命名爲classes,並將Solr中..\server\resources的log4j.properties文件拷貝過來。

6.修改tomcat下..\webapps\solr\WEB-INF中的web.xml文件

將如下部分的註釋去掉,並將/put/your/solr/home/here改成剛纔的solr-home文件夾的絕對路徑
  <!--
    <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>/put/your/solr/home/here</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>
   -->

7.啓動tomcat,瀏覽器輸入:http://localhost:8080/solr/index.html 訪問
這裏寫圖片描述

新建core
環境搭建完畢後就可以開始着手新建core了,core就是一個類似數據源的東西,如果把Solr比作數據庫的話,core就是一張表。
1.首先在tomcat中..\webapps\solr\solr-home下新建一個文件夾coreTest。

2.將tomcat中..\webapps\solr\solr-home\configsets\sample_techproducts_configs下的conf文件夾拷貝到上步中新建的coreTest中。

3.啓動tomcat,進入如下頁面,並將紅框中的部分改爲剛纔新建的coreTest
這裏寫圖片描述

新建成功,同時可以到剛纔新建的coreTest文件夾中已經自動生成了一些文件。
這裏寫圖片描述

這裏寫圖片描述

core配置
現在core新建完成,還需要對core做一些配置。
1.首先選擇剛纔新建的coreTest
這裏寫圖片描述

可以看到如下界面
這裏寫圖片描述

點擊Dataimport,但是現在還沒有配置,所以可以看到右邊界面有如下提示:Sorry, no dataimport-handler defined!

2.修改配置文件:tomcat中..\webapps\solr\solr-home\coreTest\conf下的solrconfig.xml文件。
首先查詢下是否存在名爲dataimport的requestHandler,如果沒有的話就需要手動添加一個。查找打名爲select的requestHandler,然後在它上面添加如下代碼

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">  
      <lst name="defaults">  
         <str name="config">data-config.xml</str>  
      </lst>  
 </requestHandler>

如下
這裏寫圖片描述

3.添加data-config.xml配置文件。在tomcat中..\webapps\solr\solr-home\coreTest\conf下添加data-config.xml文件。
內容:請填寫自己對應的數據庫信息。這裏想必也不用多解釋,就是查詢數據庫的信息,之後用來添加進core。

<?xml version="1.0" encoding="UTF-8"?>  
<dataConfig>  
    <dataSource name="source1" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://xxx.xx.xxx.xxx:xxxx/xxxx" user="user" password="password"/>  
<document>  
        <entity name="lms_training_item" pk="item_id"  dataSource="source1" query="select item_id,item_no,item_name,owner_no from lms_training_item">  
            <field column="item_id" name="id"/> 
            <field column="item_no" name="itemNo"/>  
            <field column="item_name" name="itemName"/>  
            <field column="owner_no" name="ownerNo"/>
        </entity>
</document>  
</dataConfig>  

4.scheam配置。重複1中的步驟,選擇scheam項。主要爲導入數據時保存哪些列服務。
這裏寫圖片描述

按照3中field的name來新建,因爲配置文件中已經存在了一個id項(代表主鍵),所以在3中,我把主鍵的item_id的name直接寫成了id,所以這裏就不用再新建主鍵了。當然也可以把id刪除或修改成自己所需的主鍵名。
按照下圖方式新建完所有field即可(本例中是itemNo,itemName,ownerNo)
這裏寫圖片描述

5.因爲我這裏連接的是MySql數據庫,所以需要下載mysql-connector-java-5.1.18.jar,將文件拷貝到tomcat下..\webapps\solr\WEB-INF\lib文件夾中。不然在導入數據時會出現錯誤,如果遇到什麼問題的話也可以到日誌界面中查看具體出錯問題:
這裏寫圖片描述

6.導入數據。啓動tomcat,重複1中的步驟可以看到如下界面:
這裏寫圖片描述

如果沒有其他的篩選要求的話,這裏可以Entity選擇一下然後直接點擊 Execute 進行數據導入,點擊Execute 後還需要手動點一下refresh status鍵信息纔會刷新,不然會一直顯示在執行中:
右邊界面出現如下信息就代表導入成功了
這裏寫圖片描述

7.查詢。選擇query項。
這裏寫圖片描述
可以直接點擊execute query查詢,這時查詢出來的是所有剛纔導入的信息。
這裏寫圖片描述

這裏講下各項的意思

q:
*:*代表所有,本例中也可以寫成id:151,多個時的寫法id:(151 or 152)
fq:
和q差不多,但可以添加多個
sort:
排序,多個寫法 id desc,itemNo desc
start, rows:
分頁用,開始(0開始),數量

以上,Solr環境搭建完畢,也嘗試了數據的導入和查詢。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章