爲什麼我們項目用Solr而不用ElasticSearch

文章最前: 我是Octopus,這個名字來源於我的中文名--章魚;我熱愛編程、熱愛算法、熱愛開源。所有源碼在我的個人github ;這博客是記錄我學習的點點滴滴,如果您對 Python、Java、AI、算法有興趣,可以關注我的動態,一起學習,共同進步。

相關文章:

  1. LeetCode:55. Jump Game(跳遠比賽)
  2. Leetcode:300. Longest Increasing Subsequence(最大增長序列)
  3. LeetCode:560. Subarray Sum Equals K(找出數組中連續子串和等於k)

文章目錄:

Solr優缺點:

優點:

缺點:

Elasticsearch優缺點:

優點:

缺點:

Elasticsearch 與 Solr 的比較總結:

優缺點比較:


首先,先說一下solr的優缺點和elasticSearch 的優缺點;

Solr優缺點:


優點:

  1. Solr有一個更大、更成熟的用戶、開發和貢獻者社區。
  2. 支持添加多種格式的索引,如:HTML、PDF、微軟 Office 系列軟件格式以及 JSON、XML、CSV 等純文本格式。
  3. Solr比較成熟、穩定。
  4. 不考慮建索引的同時進行搜索,速度更快。

缺點:

  1. 建立索引時,搜索效率下降,實時索引搜索效率不高。

Elasticsearch優缺點:


優點:

  1. Elasticsearch是分佈式的。不需要其他組件,分發是實時的,被叫做”Push replication”。
  2. Elasticsearch 完全支持 Apache Lucene 的接近實時的搜索。
  3. 處理多租戶不需要特殊配置,而Solr則需要更多的高級設置。
  4. Elasticsearch 採用 Gateway 的概念,使得完備份更加簡單。
  5. 各節點組成對等的網絡結構,某些節點出現故障時會自動分配其他節點代替其進行工作。

缺點:

  1. 只有一名開發者(當前Elasticsearch GitHub組織已經不只如此,已經有了相當活躍的維護者)

     2. 還不夠自動(不適合當前新的Index Warmup API)


Elasticsearch 與 Solr 的比較總結:

    1.Solr 利用 Zookeeper 進行分佈式管理,而 Elasticsearch 自身帶有分佈式協調管理功能;

    2.Solr 是傳統搜索應用的有力解決方案,但 Elasticsearch 更適用於新興的實時搜索應用。

    3.Solr 支持更多格式的數據,而 Elasticsearch 僅支持json文件格式;

    4.Solr 官方提供的功能更多,而 Elasticsearch 本身更注重於核心功能,高級功能多有第三方插件提供;

    5.Solr 在傳統的搜索應用中表現好於 Elasticsearch,但在處理實時搜索應用時效率明顯低於 Elasticsearch。


優缺點比較:

選擇solr最主要:

1.我們的項目中dubbox要用到zookeeper作爲註冊中心,剛好可以利用zookeeper來協調Solr集羣;

2.如果不在實時插入查詢,solr搜索引擎的暫時可以滿足搜索的速度需求;

3.項目後期升級要朝着hadoop這塊發展,當數據量大的時候,用hadoop處理數據,而solr可以很簡便的與hadoop結合。由於Hadoop處理大量數據,Solr幫助我們從這麼大的源中找到所需的信息;不僅限於搜索,Solr也可以用於存儲目的;

4.還有最後一個原因,solr有一個成熟的社區,我們在開發中遇到的問題 ,可以向社區求助,以便使我們更快的解決問題;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章