下載地址:http://archive.apache.org/dist/lucene/solr/
下載版本:4.10.3
Linux下需要下載lucene-4.10.3.tgz,windows下需要下載lucene-4.10.3.zip。
1.1 運行環境
l Jdk:1.7及以上
l Solr:4.10.3
l Mysql:5X
l Web服務器:tomcat 7
1.1.1 初始化數據庫腳本 lucene.sql
1.2 Solr安裝配置
1.2.1 Solr的安裝部署
第一步:安裝tomcat
第二步:將以下的war包,拷貝到tomcat的webapps目錄下
第三步:解壓縮war包
解壓縮之後,將war包刪掉
第四步:添加solr的擴展服務包
將以上jar包,添加到以下目錄
第五步:添加log4j.properties
將以下目錄的文件進行拷貝
複製到以下目錄
第六步:在web.xml中指定solrhome的目錄
1.2.2 Solrcore的安裝
1.2.2.1 Solrcore和solrhome
Solrhome是solr服務運行的主目錄,一個solrhome目錄裏面包含多個solrcore目錄,一個solrcore目錄裏面了一個solr實例運行時所需要的配置文件和數據文件。
每一個solrcore都可以單獨對外提供搜索和索引服務。
多個solrcore之間沒有關係。
1.2.2.2 Solrcore和solrhome的目錄結構
Solrhome的目錄結構
Solrcore目錄
1.2.2.3 Solrcore的安裝
安裝solrcore需要先安裝solrhome
將以下目錄的文件進行拷貝
複製到以下目錄
這樣solrhome和solrcore就安裝成功了。
1.2.2.4 Solrcore配置
在solrcore的conf目錄下,有一個solrconfig.xml的配置文件,該配置文件,配置來solrcor的運行信息
在該文件中,主要配置三個標籤:lib標籤、datadir標籤、requestHandler標籤
如果對該文件不進行配置也可以,即使用默認的配置項。
1.2.2.4.1 Lib 標籤
Solrcore需要添加一個擴展依賴包,通過lib標籤來指定依賴包的地址
solr.install.dir:表示solrcore的安裝目錄
將以下目錄的文件進行拷貝
複製到以下目錄
修改lib標籤
1.2.2.4.2 datadir標籤
每個SolrCore都有自己的索引文件目錄 ,默認在SolrCore目錄下的data中。
data數據目錄下包括了index索引目錄 和tlog日誌文件目錄。
如果不想使用默認的目錄也可以通過solrConfig.xml更改索引目錄 ,如下:
1.2.2.4.3 requestHandler標籤
requestHandler請求處理器,定義了索引和搜索的訪問方式。
通過/update維護索引,可以完成索引的添加、修改、刪除操作。
提交xml、json數據完成索引維護
通過/select搜索索引。
設置搜索參數完成搜索,搜索參數也可以設置一些默認值,如下:
<requestHandler name="/select" class="solr.SearchHandler">
<!-- 設置默認的參數值,可以在請求地址中修改這些參數-->
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int><!--顯示數量-->
<str name="wt">json</str><!--顯示格式-->
<str name="df">text</str><!--默認搜索字段-->
</lst>
</requestHandler>
1.3 solr界面介紹
啓動solr服務
1.3.1 Dashboard
儀表盤,顯示了該Solr實例開始啓動運行的時間、版本、系統資源、jvm等信息。
1.3.2 Logging
Solr運行日誌信息
1.3.3 Cloud
Cloud即SolrCloud,即Solr雲(集羣),當使用Solr Cloud模式運行時會顯示此菜單,該部分功能在第二個項目,即電商項目會講解。
1.3.4 Core Admin
Solr Core的管理界面。在這裏可以添加SolrCore實例。
1.3.5 java properties
Solr在JVM 運行環境中的屬性信息,包括類路徑、文件編碼、jvm內存設置等信息。
1.3.6 Tread Dump
顯示Solr Server中當前活躍線程信息,同時也可以跟蹤線程運行棧信息。
1.3.7 Core selector(重點)
選擇一個SolrCore進行詳細操作,如下:
1.3.7.1 Analysis(重點)
通過此界面可以測試索引分析器和搜索分析器的執行情況。
注:solr中,分析器是綁定在域的類型中的。
1.3.7.2 dataimport
可以定義數據導入處理器,從關係數據庫將數據導入到Solr索引庫中。
默認沒有配置,需要手工配置。
1.3.7.3 Document(重點)
通過/update表示更新索引,solr默認根據id(唯一約束)域來更新Document的內容,如果根據id值搜索不到id域則會執行添加操作,如果找到則更新。
通過此菜單可以創建索引、更新索引、刪除索引等操作,界面如下:
l overwrite="true" : solr在做索引的時候,如果文檔已經存在,就用xml中的文檔進行替換
l commitWithin="1000" : solr 在做索引的時候,每個1000(1秒)毫秒,做一次文檔提交。爲了方便測試也可以在Document中立即提交,</doc>後添加“<commit/>”
1.3.7.4 Query(重點)
通過/select執行搜索索引,必須指定“q”查詢條件方可搜索。
1.4 多solrcore的配置
配置多solrcore的好處:
1、 在進行solrcloud的時候,必須配置多solrcore
2、 每個solrcore之間是獨立的,都可以單獨對外提供服務。不同的業務模塊可以使用不同的solrcore來提供搜索和索引服務。
添加
第一步:複製solrhome下的collection1目錄到本目錄下,修改名稱爲collection2
第二步:修改solrcore目錄下的core.properties
這樣多solrcore就配置完成了。