1. 程式人生 > >【solr基礎教程之一】Solr相關知識點串講

【solr基礎教程之一】Solr相關知識點串講

Solr是Apache Lucene的一個子專案。Lucene為全文搜尋功能提供了完備的API,但它只作為一個API庫存在,而不能直接用於搜尋。因此,Solr基於Lucene構建了一個完整的搜尋引擎,它可以為搜尋引擎新增文件,對文件內容進行分析,併為使用者提供搜尋功能,在此基礎上提供了一個擴充套件功能,如hit highline, suggetion等。

      一、概述

  (一)基礎內容      1、Solr的版本號與Lucene的版本號保持一直,直到2014年7月,最新版本號為4.9.0。      2、Solr提供了一個example,可以簡單快速的搭建起搜尋環境。參見http://blog.csdn.net/jediael_lu/article/details/36419497 (二)配置檔案     Solr的關鍵配置檔案有以下三個:     solr.xml—Defines properties related to administration, logging, sharding, and SolrCloud      solrconfig.xml—Defines the main settings for a specific Solr core     schema.xml—Defines the structure of your index, including fields and field types    啟動搜尋引擎時,伺服器按照以下順序匯入配置:    (1)從全域性java系統屬性中檢視solr.solr.home,一般定義為:$SOLR_INSTALL/example/solr/。    (2)搜尋上述目錄中哪個子目錄中包含有 core.properties,每個 core.properties對應一個core。    (3)從 core.properties中找出name屬性,其值作為一個core。     (4)查詢這個core下面的conf子目錄,找到solrconfig.xml與schema.xml。
    1、solr.xml     與整個搜尋引擎相關的配置。     2、solrconfig.xml。     與某個core相關的主要配置,如定義updatehandler用於索引檔案,requesthandler用於搜尋內容等。        


    3、schema.xml     定義了某型別文件的索引格式。    4、core.properties     記錄了一個core的基本資訊,除一個name為必備屬性外,其餘均為可選。

 二、索引     索引,是將文件中的內容經過分析後,形成一個Term---Document的對映,並將其寫入索引檔案的過程,即說明哪些文件中包括某個詞彙。 (一)向搜尋引擎中提交文件的方法
1、命令列方式 使用example程式中提供的post.jar或者post.sh提供文件,它支援XML/JSON/CSV三種檔案格式。 如java -jar post.jar *.xml 但本質上,它只是將solr提供的API進行了封裝,最核心的類為SimplePostTool,此類呼叫了SolrJ的介面。 2、SolrJ 使用solr提供的API,進行文件的新增。 3、其它第三方工具 (1)Data Import Handler (DIH) 將外部資料匯入Solr,如網站、關係型資料庫等內容。 (2)ExtractingRequestHandler, aka Solr Cell 對Tika進行了封裝,可用於匯入富文字內容,如pdf,office等 (3)Nutch 抓取網頁並將其匯入solr。  三、分析
 四、索引    五、擴充套件功能