歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux業界 >> 大數據處理方面的7個開源搜索引擎

大數據處理方面的7個開源搜索引擎

日期:2017/2/27 17:32:36   编辑:Linux業界

大數據是一個包括一切的術語,指的是數據集很大很復雜,他們需要特別設計的硬件和軟件工具。數據集通常是 T 或者更大級別。這些數據集從各種各樣的來源創建,包括傳感器,收集氣象信息,公開可用的信息,如雜志、報紙、文章。還包括購買交易記錄、網絡日志、醫療記 錄、軍事偵察、視頻和圖像檔案和大規模的電子商務等等。

要分析這些數據需要專門的軟硬件,本文介紹 7 個開源的搜索引擎適合用於大數據處理:

1. Apache Lucene
Lucene 是apache軟件基金會一個開放源代碼的全文檢索引擎工具包,是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎,部分文本分析引擎。 Lucene的目的是為軟件開發人員提供一個簡單易用的工具包,以方便的在目標系統中實現全文檢索的功能,或者是以此為基礎建立起完整的全文檢索引擎。

特性:

  • 索引過程:
    • 在現在流行的硬件平台上每個小時可處理超過 150GB 的數據
    • 內存占用小,只需 1MB 的堆內存
    • 增量索引和批量索引速度一樣快
    • 索引大小約為文本索引的 20-30% 大小
    • 靜態索引修剪
  • 搜索算法:
    • 范圍搜索 - 優先返回最佳結果
    • 很多強大的查詢類型:短語查詢、通配符查詢、近似查詢、范圍查詢等
    • 可單獨針對某個字段查詢
    • 可單獨根據某個字段排序
    • 多索引搜索並合並搜索結果
    • 允許同步更新索引和搜索
    • 靈活的門面搜索、高亮顯示、結果集的聯合和分組
    • 快速,低內存占用和容錯
    • 可插入式排名模型,包括 VSM 和 Okapi MB25
    • 可配置的存儲引擎
  • 跨平台解決方案
    • 100% 純 Java
    • 其他語言提供索引兼容的實現

2. Apache Solr
Apache Solr (讀音: SOLer) 是一個開源的搜索服務器。Solr 使用 Java 語言開發,主要基於 HTTP 和 Apache Lucene 實現。Apache Solr 中存儲的資源是以 Document 為對象進行存儲的。每個文檔由一系列的 Field 構成,每個 Field 表示資源的一個屬性。Solr 中的每個 Document 需要有能唯一標識其自身的屬性,默認情況下這個屬性的名字是 id,在 Schema 配置文件中使用:<uniqueKey>id</uniqueKey>進行描述。

3. ElasticSearch
Elastic Search 是一個基於Lucene構建的開源,分布式,RESTful搜索引擎。設計用於雲計算中,能夠達到實時搜索,穩定,可靠,快速,安裝使用方便。支持通過HTTP使用JSON進行數據索引。

4. Sphinx
Sphinx是一個基於SQL的全文檢索引擎,可以結合MySQL,PostgreSQL做全文搜索,它可以提供比數據庫本身更專業的搜索功能,使得應用程序更容易實現專業化的全文檢索。Sphinx特別為一些腳本語言設計搜索API接口,如PHP,Python,Perl,Ruby等,同時為MySQL也設計了一個存儲引擎插件。

5. Xapian
Xapian是一個用C++編寫的全文檢索程序,他的作用類似於Java的lucene。盡管在Java世界lucene已經是標准的全文檢索程序,但是C/C++世界並沒有相應的工具,而Xapian則填補了這個缺憾。

6. Nutch
Nutch 是一個開源Java 實現的搜索引擎。它提供了我們運行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬蟲。

盡管Web搜索是漫游Internet的基本要求, 但是現有web搜索引擎的數目卻在下降. 並且這很有可能進一步演變成為一個公司壟斷了幾乎所有的web搜索為其謀取商業利益.這顯然 不利於廣大Internet用戶.

Nutch為我們提供了這樣一個不同的選擇. 相對於那些商用的搜索引擎, Nutch作為開放源代碼 搜索引擎將會更加透明, 從而更值得大家信賴. 現在所有主要的搜索引擎都采用私有的排序算法, 而不會解釋為什麼一個網頁會排在一個特定的位置. 除此之外, 有的搜索引擎依照網站所付的 費用, 而不是根據它們本身的價值進行排序. 與它們不同, Nucth沒有什麼需要隱瞞, 也沒有 動機去扭曲搜索的結果. Nutch將盡自己最大的努力為用戶提供最好的搜索結果.

Nutch 致力於讓每個人能很容易, 同時花費很少就可以配置世界一流的Web搜索引擎. 為了完成這一宏偉的目標, Nutch必須能夠做到:

  • 每個月取幾十億網頁
  • 為這些網頁維護一個索引
  • 對索引文件進行每秒上千次的搜索
  • 提供高質量的搜索結果
  • 以最小的成本運作


7. LGTE
LGTE 是基於 Lucene 提供了擴展 Lucene API 用於集成很多服務,例如片段生成、查詢擴展等等,並提供了一組單元測試。
特性包括:

  • 提供了簡單和高效的 Lucene API 的抽象層
  • 在主題、時間和地理方面支持集成檢索和排序的依據
  • 支持 Lucene 標准的檢索模型,提供更高級的概率檢索方法
  • 支持 Rochio 查詢擴展
  • 提供了用於 IR 仿真體驗的框架 (例如處理 CLEF/TREC 主題)
  • 包含 trec_eval 工具的 Java 替換版
  • 包含一個簡單的測試應用,用來搜索 Braun Corpus 或 Cranfield Corpus
  • TREC/CLEF 仿真框架 - 集合索引的工具,運行主題搜索並使用 treckeval 格式輸出結果
  • 使用不同文件夾提供隔離字段
  • 通過外鍵字段提供層次化的索引
  • 提供用於使用 Yahoo PlaceMaker 解析文檔的類
Copyright © Linux教程網 All Rights Reserved