原來再用 lucene 做全文,以前也用過 solr 版本太低了,最新版跟老版本還是有些不太一樣,下面介紹一下如何配置 solr5.1
準備工作:
1.下載 solr-5.1.0.zip
2.下載 apache-tomcat-8.0.21
3.JDK1.8
4.配置好JDK環境變量
解壓後的目錄
F:\solr-5.1.0\
F:\apache-tomcat-8.0.21\
1. 拷貝 F:\solr-5.1.0\server\webapps\solr.war 到 F:\apache-tomcat-8.0.21\webapps 目錄下,啓動tomcat
2. 拷貝 F:\solr-5.1.0\server\lib\ext 下所有jar文件拷貝到 F:\apache-tomcat-8.0.21\webapps\solr\WEB-INF\lib 目錄下
3. 在 F:\apache-tomcat-8.0.21\webapps\solr\WEB-INF\ 目錄下新建目錄 classes,
把 F:\apache-tomcat-8.0.21\temp\solr-5.1.0\solr-5.1.0\example\resources\log4j.properties 文件拷貝到
F:\apache-tomcat-8.0.21\webapps\solr\WEB-INF\classes 目錄下。
4. 創建目錄 F:\SolrHome\solr,把F:\solr-5.1.0\server\solr 下面的所有文件拷貝到 F:\SolrHome\solr 目錄下
5. 打開文件 F:\apache-tomcat-8.0.21\webapps\solr\WEB-INF\web.xml 把下面
<!--
<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>
-->
註釋去掉,修改成
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>F:/SolrHome/solr</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
6. 新建目錄 F:\SolrHome\solr\myProject ,把目錄 F:\solr-5.1.0\server\solr\configsets\basic_configs 下的目錄 conf 整個拷貝到
F:\SolrHome\solr\myProject 目錄下
7. 新建文件F:\SolrHome\solr\myProject\con\db-data-config.xml 內容如下
<dataConfig>
<dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/dbcas" user="root" password="test" />
<document>
<entity name="item" query="SELECT loginname,username,mobilephone,department,adminduty,gangwei from user">
<field column="loginname" name="loginname" />
<field column="username" name="username" />
<field column="mobilephone" name="mobilephone" />
<field column="department" name="department" />
<field column="adminduty" name="adminduty" />
<field column="gangwei" name="gangwei" />
</entity>
</document>
</dataConfig>
8. 打開文件 F:\SolrHome\solr\myProject\conf\solrconfig.xml
找到 <requestHandler name="/select" class="solr.SearchHandler"> 行,在該行上面添加以下內容
<requestHandler name="/dataimport" class="solr.DataImportHandler">
<lst name="defaults">
<str name="config">db-data-config.xml</str>
</lst>
</requestHandler>
8. 下面拷貝 F:\solr-5.1.0\dist 目錄下的 solr-dataimporthandler-5.1.0.jar 和 solr-dataimporthandler-extras-5.1.0.jar 文件,到
F:\apache-tomcat-8.0.21\webapps\solr\WEB-INF\lib 目錄下,順便把mysql的 mysql-connector-java-5.1.18-bin.jar 也拷貝到該目錄下。
9. 打開文件 F:\SolrHome\solr\myProject\conf\schema.xml
保留 <field name="_version_" type="long" indexed="true" stored="true"/>和<field name="_root_" type="string" indexed="true" stored="false"/>
其餘的 field 刪除掉,並修改成自己的內容,如下:
<field name="loginname" type="string" indexed="true" stored="true" required="true" multiValued="false"/>
<field name="username" type="text_general" indexed="true" stored="true" />
<field name="mobilephone" type="text_general" indexed="true" stored="true" />
<field name="department" type="text_general" indexed="true" stored="true" />
<field name="adminduty" type="text_general" indexed="true" stored="true" />
<field name="gangwei" type="text_general" indexed="true" stored="true" />
<uniqueKey>loginname</uniqueKey>
其中id 字段改成自己的,我的數據庫唯一值是 loginname。
把 dynamicField 也都刪除掉 ,把 <uniqueKey>id</uniqueKey> 刪除掉。
10. 重啓tomcat 訪問 http://localhost:8080/solr 會出現管理界面
11. 點擊頁面左側的 Core Admin,在右側 name: 和 instanceDir: 輸入 myProject,點擊 Add Core,創建成功。
12. 下面來導入數據,在左側 Core Selector,選擇myProject, 然後點擊下面DataImport,點擊右側Execute,導入完成會提示類似下面的信息
Last Update: 11:38:41
Indexing completed. Added/Updated: 787 documents. Deleted 0 documents. (Duration: 03s)
Requests: 1 (0/s), Fetched: 787 (262/s), Skipped: 0, Processed: 787 (262/s)
Started: less than a minute ago
13. 進入查詢界面,試試看能不能檢索出結果,點擊頁面右下角的 Query,q 輸入框*:*不用修改,直接點擊 Execute Query,如果沒問題的話
右側應該會出現檢索結果
以上是 solr5.1.0 配置過程,具體進一步操作細節,待續。