今天總結下solr的搭建過程.自己在學習過程中有好多東西都會忘掉.今天搭建solr也算和大家一起復習下吧.
這裏要注意幾點,solr搭建要使用jdk1.7以上的版本.
準備工作:1solr-4.10.3.zip(其中包括我們用的很多後序功能) 2.tomcat環境 3jdk1.7
配置tomcat我就不說了,直接從solr開始;
1把 solr-4.10.3.zip解壓縮.裏面會得到這些文件
我們需要把dist文件中的solr.war複製出來 這其實就是一個web工程.複製到tomcat中的webapp中,然後啓動tomcat就可以自動解壓solr.wat了.但是這裏我們不推薦這麼做.因爲這個web工程中還缺少日誌的jar包.所以我們推薦的是把war改爲rar或者zip直接解壓到當前文件夾.
這時候我們就把他看作一個普通的web項目,把我們所需的jar包放到對應lib目錄下.那我們所說的那些缺少的jar在哪裏?他們在\solr-4.10.3\example\lib\ext 把ext中的那些jar包放到我們的D:\myjava\apache-tomcat-7.0.57\webapps\solr\WEB-INF\lib 中 (具體電腦具體對待)
這時候我們的離運行還差最後一步就是創建我們的solrcore(這裏我們理解成單個數據庫就行,)
這個也是solr給我們準備好了的.他在\solr-4.10.3\example\solr 這個solr文件夾就是個標準的solr數據庫(先這麼理解)
這個時候我們的solrcore可以放在任意位置,但是他要和我們的solr程序掛鉤.我們想一個程序應該怎麼和外部的solr數據庫掛鉤呢?熟悉web程序開發的同學我們應該很容易想到的是web.xml 那我們來看看
solr/home
D:\solrhome
java.lang.String
其中有這麼一段代碼,在初始化的時候是被註釋掉的.但是我們把他解開後,在D:\solrhome填上我們solr數據庫的絕對磁盤位置就好了.
然後們就可以啓動了我的地址值http://localhost:8080/solr
這裏我們的solr就可以使用了.但是現在對中文的支持不是很好,下面看一下對中文的支持情況(選擇Analysis)
這裏我們可以看到不管是查詢還是插入的分詞效果都不是我們想要的,一個字一個單詞?
我們有自己的分詞器,(當然爲了我們以後出現的新興詞,我們還可以拓展出,我們自己的詞典,要他把某些字也識別成一個詞,還有我們還可以拓展停用詞詞典,比如啊 呢 嗎 這些沒有搜索意義的詞我們可以把他屏蔽掉.)
下面我們就來看看怎麼配置我們中的分詞器;(這裏我用到的是IK Analyzer 2012FF_hf1.zip)
IK分詞器
IKAnalyzer2012FF_u1.jar 解壓后里面有此jar包.把這個jar複製到我們的工程的lib目錄下.
把IKAnalyzer.cfg.xml複製到我們項目的classes下.這個文件就是配置我們的停用詞和拓展詞的配置文件
http://java.sun.com/dtd/properties.dtd">
IK Analyzer 擴展配置
stopword.dic;
看中文你就能看懂了.(字典的書寫個是就以回車作爲分隔符)
到這裏我們還查最後一步,就是我們要給我們指定的中文域添加到我們solr數據庫中,
要不然他怎麼知道我們的數據庫又支持了一種新的分詞格式呢?
D:\solrhome\collection1\conf 在我們的solr數據庫的這個目錄下有一個schema.xml 打開他把
這一段話放到裏面 放到最後一個閉合標籤的前面
現在我們定義了.
但是我們只是定義了,那麼我們要讓solr可以使用呢?
在他的上面加上這段話,就可以了.
然後我們就可以看到我們打開Anlysis就可以看到我們自己的定義域字段了
title_ik了 這個時候我們就支持聰明的中文了.
但是現在我們還需要導入外部數據,但是今天不寫了.改天有時間再說.太晚了睡了;明天還有大量的工作呢!!!!