Solr教程


Solr是一個開源搜索平臺,用於構建搜索應用程序。 它建立在Lucene(全文搜索引擎)之上。 Solr是企業級的,快速的和高度可擴展的。 使用Solr構建的應用程序非常複雜,可提供高性能。

爲了在CNET網絡的公司網站上添加搜索功能,Yonik Seely於2004年創建了Solr。並在2006年1月,它成爲Apache軟件基金會下的一個開源項目。並於2016年發佈最新版本Solr 6.0,支持並行SQL查詢的執行。

Solr可以和Hadoop一起使用。由於Hadoop處理大量數據,Solr幫助我們從這麼大的源中找到所需的信息。不僅限於搜索,Solr也可以用於存儲目的。像其他NoSQL數據庫一樣,它是一種非關係數據存儲和處理技術。

總之,Solr是一個可擴展的,可部署,搜索/存儲引擎,優化搜索大量以文本爲中心的數據。

Apache Solr特點

SolrLucene的Java API的包裝。因此,使用Solr,可以利用Lucene的所有功能。 讓我們來看看Solr的一些最突出的特點 -

  • Restful APIs − 要與Solr通信,並非一定需要有Java編程技能。相反,您可以使用restful服務與它通信。可使用文件格式(如XMLJSON.CSV)在Solr中作爲輸入文檔,並以相同的文件格式獲取結果。
  • 全文搜索 - Solr提供了全文搜索所需的所有功能,例如令牌,短語,拼寫檢查,通配符和自動完成。
  • 企業準備 - 根據企業/組織的需要,Solr可以部署在任何類型的系統(大或小),如獨立,分佈式,雲等。
  • 靈活和可擴展 - 通過擴展Java類並相應配置,可以輕鬆地定製Solr的組件。
  • NoSQL數據庫 - Solr也可以用作大數據量級的NOSQL數據庫,可以沿着集羣分佈搜索任務。
  • 管理界面 - Solr提供了一個易於使用,用戶友好,功能強大的用戶界面,使用它可以執行所有可能的任務,如管理日誌,添加,刪除,更新和搜索文檔。
  • 高度可擴展 - 在使用Solr與Hadoop時,我們可以通過添加副本來擴展其容量。
  • 以文本爲中心並按相關性排序 - Solr主要用於搜索文本文檔,結果根據與用戶查詢的相關性按順序傳送。

Lucene不同,在使用Apache Solr時,可不需要具有Java編程技能。它提供了一個完整的準備部署服務,以構建一個自動完成的搜索框,Lucene是不提供的。 使用Solr可以擴展,分配和管理大規模(大數據)應用程序的索引。

Lucene在搜索應用程序

Lucene是簡單但強大的基於Java的搜索庫。 它可以在任何應用程序中用於添加搜索功能。 Lucene是一個可擴展的高性能庫,用於索引和搜索幾乎任何類型的文本。 Lucene庫提供任何搜索應用程序所需的核心操作,例如索引和搜索。

如果有一個具有大量數據的門戶網站或平臺,那麼我們將很可能需要在門戶/平臺中提取一個搜索引擎從巨大的數據庫中提取相關信息。Lucene作爲任何搜索應用程序的核心,提供與索引和搜索相關的重要操作。