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

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

struct 詞匯 ont types 映射 details 必備 功能 提交





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 啟動搜索引擎時,server依照下面順序導入配置: (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。


三、分析


四、索引


五、擴展功能

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