Sorl搜索技術


  在一些大型門戶網站、電子商務網站等都需要站內搜索功能,使用傳統的數據庫查詢方式實現搜索無法滿足一高級的搜索需求,比如:搜索速度要快、搜索結果按相關度排序、搜索內容格式不固定等,這里就需要使用全文檢索技術實現搜索功能。

檢索技術

  項目中的檢索技術主要有三種方式實現:

1、單獨使用Lucene實現
  單獨使用Lucene實現站內搜索需要開發的工作量較大,主要表現在:索引維護、索引性能優化、搜索性能優化等,因此不建議采用。
2、使用Google或Baidu接口
  通過第三方搜索引擎提供的接口實現站內搜索,這樣和第三方引擎系統依賴緊密,不方便擴展,不建議采用。
3、使用Solr實現
  基於Solr實現站內搜索擴展性較好並且可以減少程序員的工作量,因為Solr提供了較為完備的搜索引擎解決方案,因此在門戶、論壇等系統中常用此方案。

  solr需要運行在一個Servlet容器中,Solr4.10.3要求jdk使用1.7以上,Solr默認提供Jetty。下載好了就可以直接啟動了。

Solr命令

  solr的啟動、停止、查看命令: 
  1. 啟動:bin\solr.cmd start 
  2. 停止:bin\solr.cmd stop 或bin\solr.cmd stop -all 
  3. 查看:bin\solr.cmd status

  我下載的是7.7.1版本的,不知為什么,solr.cmd總是執行顯示SET was unexpected at this time錯誤,於是換回4.10.3了還是不行,果斷放棄windows平台運行solr,使用linux,一鍵運行成功,還是linux更open啊。

solr目錄結構

  一下內容針對solr4.10.3版本,和最新版本有很大出入。

  創建一個Solrhome目錄,目錄中包括了運行Solr實例所有的配置文件和數據文件,SolrHome是Solr運行的主目錄,一個SolrHome可以包括多個SolrCore(Solr實例),每個SolrCore提供單獨的搜索和索引服務。

上圖中“collection1”是一個SolrCore(Solr實例)目錄 ,目錄內容如下所示:

注解:

  collection1:叫做一個Solr運行實例SolrCore,SolrCore名稱不固定,一個solr運行實例對外單獨提供索引和搜索接口。
  solrHome中可以創建多個solr運行實例SolrCore。一個solr的運行實例對應一個索引目錄。
  conf是SolrCore的配置文件目錄 。

Solr基本使用

當我們啟動了solr之后,訪問其web路徑,可以看到solr控制面板,我們來研究一下它的菜單。

1、Dashboard:儀表盤,顯示了該Solr實例開始啟動運行的時間、版本、系統資源、jvm等信息。
2、Logging:Solr運行日志信息。
3、Cloud:Cloud即SolrCloud,即Solr雲(集群),僅當使用SolrCloud模式運行時會顯示此菜單。
4、Core Admin:Solr Core的管理界面。Solr Core是Solr的一個獨立運行實例單位,它可以對外提供索引和搜索服務,一個Solr工程可以運行多個SolrCore(Solr實例),一個Core對應一個索引目錄。
5、java properties:Solr在JVM運行環境中的屬性信息,包括類路徑、文件編碼、jvm內存設置等信息。
6、Tread Dump:顯示Solr Server中當前活躍線程信息,同時也可以跟蹤線程運行棧信息。
7、Core selector:選擇一個SolrCore進行詳細操作。

當我們選擇了一個core后

1、Overview:總覽

2、Analysis:通過此界面可以測試索引分析器和搜索分析器的執行情況。

3、DataImport:可以定義數據導入處理器,從關系數據庫將數據導入 到Solr索引庫中。

4、Documents:通過此菜單可以創建索引、更新索引、刪除索引等操作。

5、Files:Solr相關文件。

6、Ping:測試到solr服務器的網絡速度。

7、Plugins/stats:插件及其狀態。

8、Query:通過/select執行搜索索引,必須指定“q”查詢條件方可搜索。

9、Replication:主從復制功能。

10、SchemaBrowser:瀏覽匹配方案。


免責聲明!

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



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