solr與.net系列課程(一)solr的安裝與配置


   

     

     不久之前開發了一個項目,需要用到solr,因為所以在開始再網上查找資料,但是發現大部分的資料都是很片面的,要么就是只講解solr如何安裝的,要么就是只講解solr的某一個部分的,而且很多都是資料都是一模一樣的,一個人轉載另一個人的,很難找到一個從solr配置,到與數據庫連接在結合實際項目的,而且由於solr使用java開發的,所以現實中大多數的實例都是java版本的,.net版本的少之又少,所以一個.net開發人員在沒有別人講解的情況下學習solr是一件很吃力的事情,所以我想寫出一個solr的系列教程,讓一個沒有solr基礎的.net開發者,看我之后能能夠知道solr原理,重要文件配置,大部分參數的意義,同時在.net項目中輕松使用.

     什么是solr? 

     那么在學習之前我們要了解一下什么是solr先看一下,官方的解釋:

     Solr是一個獨立的企業級搜索應用服務器,它對外提供類似於Web-service的API接口。用戶可以通過http請求,向搜索引擎服務器提交一定格式的XML,Json等文件,生成索引;也可以通過Http Get操作提出查找請求,並得到XML,JSONd等格式的返回結果, Solr是一個高性能,采用Java5開發,基於Lucene的全文搜索服務器。同時對其進行了擴展,提供了比Lucene更為豐富的查詢語言,同時實現了可配置、可擴展並對查詢性能進行了優化,並且提供了一個完善的功能管理界面,是一款非常優秀的全文搜索引擎。

     官方定義就說到這里,這種定義網上一堆一堆的而且都是一樣的,想了解的朋友可以自己去百度,基本上都是一個版本的,所以就不浪費大家的時間了,下面說一說我對solr的理解:

     solr是將數據庫的數據通過一定的索引規則,轉化成容易檢索的本地文件,文件的后綴名為.fdt,然后我們通過solr去訪問這些本地文件(這些都是由solr內部完成的),從而加快索引速度,solr是java編寫的,所以需要運行在tomcat服務器上,我們可以通用http請求的方式去訪問solr,並獲取數據.

     solr 到底能干什么?

    solr主要是實現大數據的站內搜索的,舉個例子吧,當有一張表有上千萬數據時,有一個字段你存儲的是文章,現在要求你找出文章內容帶有"博客園"的數據,這時你怎么辦,用like查詢?,那估計得查到第二天,solr就可以很好的解決問題,用solr的方式查詢,最多也不會超過1秒鍾.優化做的好的話都是毫秒級的

  

  在說一點題外話,solr其實主要是配置相應的文件,這對於很多.net程序員來說,很陌生,因為我們總是習慣使用現成的,封裝好的東西來使用,久而久之,就容易變懶,一碰見稍微麻煩點的配置就覺得很難(這是很多.net程序員的通病),我之前再網上指導過一個想學solr的.net程序員,他上來就來個一句話,有沒有現成的例子,給我一份,然后我說沒有,說這個需要在tomcat中配置很多xml文件,實際與代碼結合的其實非常的少,solr的大部分東西就是在配置上,然后這個程序員就幾乎放棄了對solr學習,之后的就簡單的說了幾句談話就結束了.

第一節我們來講解solr的安裝與配置(這個基本和其他人的都是一樣的)

因為solr是用java 開發的,所以需要運行在tomcat中(無論是什么項目,.net的項目也要部署在tomcat,或者Nginx),那么第一步我們就要先安裝jdk(這里我安裝的的jdk1.7),與tomcat(選擇的是tomcat7),這兩個的安裝就不在這里細講了,網上一查一大堆

1.下載Tomcat與solr並解壓(安裝前先裝jdk)

 Tomcat解壓后磁盤路徑為C:/Program Files/Apache Software Foundation/Tomcat 7.0(路徑隨意).

2.啟動Tomcat服務器

   瀏覽器輸入: http://localhost:8080 

   這步操作是為了操作是為了在Tomcat/conf目錄下生成Catalina/localhost目錄,這個文件會在接下來使用.

3. 在官網上下載solr文件包 我這下載的是solr-4.7.2

     將solr部署到Tomcat

   a) 復制solr-4.7.2目錄example/solr到Tomcat的根目錄下

 b) 復制solr-4.7.2目錄dist/solr-4.7.2.war到Tomcat的webapps/solr.war(solr-4.7.2.war重命名為solr.war);

 c) 復制solr-4.7.2目錄example/lib/ext下的所有jar到Tomcat的lib下,同時將example/resources下的log4j.properties文件也復制到Tomcat的lib下;

 d) 在Tomcat/conf/Catalina/localhost下創建solr.xml文件,內容如下:

<?xml version="1.0" encoding="utf-8"?>
<Context docBase="webapps/solr.war" debug="0" crossContext="true">
  <Environment name="solr/home" type="java.lang.String" value="c:/Program Files/Apache Software Foundation /Tomcat7/solr" override="true"/>
</Context>

 

4.重新啟動Tomcat服務器,在瀏覽器輸入http://localhost:8080/solr 查看服務,出現如下界面就安裝成功了.

 

安裝IK分詞器

1.http://code.google.com/p/ik-analyzer/downloads/detail?name=IK%20Analyzer%202012FF_hf1.zip&can=2&q=

2.復制下面ik分詞解壓包下面的如下三個文件到Tomcat7\webapps\solr\WEB-INF\lib\文件夾下面:

IKAnalyzer.cfg.xml、IKAnalyzer2012FF_u1.jar、stopword.dic

3.修改Tomcat7\solr\collection1\conf\文件夾下的schema.xml.在<types></types>

中增加如下內容:

  <!--配置IK分詞器—name是名稱 下面可以選擇分詞器-->
    <fieldType name="text_ik" class="solr.TextField">
        <!--索引時候的分詞器-->
          <analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
        <!--查詢時候的分詞器-->
        <analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
    </fieldType>

4.啟動Tomcat,在瀏覽器中輸入http://localhost:8080/solr ,在頁面左側菜單中選擇Core為collection1,點擊Analysis(漏斗形狀)菜單,在右側頁面Filed Value文本框中輸入要測試分詞的中文串.

5.在Field Value下方,Analyse FieldName/FieldType中選擇text_ik(我這里起的名字是 text_cn),然后點擊左側Analyze Value按鈕,就能看到分詞結果。

效果圖如下:

 

        ok以上就是solr的安裝,這只是第一步,它還依然什么也做不了,下節我們將講解solr的配置文件.

 

        qq群: 424259523


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM