自帶Jetty服務器,也可以在tomcat發布solr,默認端口8983;
利用SolrJ操作solr API;
Document文檔和JavaBean相互轉換,用到@Field("likes")注解;
對比
-
solr和Elasticsearch的區別:
- Solr建立索引時候,搜索效率下降,實時搜索效率不高,es實時搜索效率高
- Solr利用Zookeeper進行分布式管理,而Elasticsearch自身帶有分布式協調管理功能。
- Solr支持更多格式的數據,比如JSON、XML、CSV,而Elasticsearch僅支持json文件格式。
- Solr官方提供的功能更多,而Elasticsearch本身更注重於核心功能,高級功能多有第三方插件提供
- Solr在傳統的搜索應用中表現好於Elasticsearch,但在處理實時搜索應用時效率明顯低於Elasticsearch。
- Solr是傳統搜索應用的有力解決方案,但Elasticsearch更適用於新興的實時搜索應用。
-
補充說明:
- Solr有一個更大、更成熟的用戶、開發和貢獻者社區
- Solr支持多種數據格式的索引,比如:JSON、XML、CSV等多種數據格式
- Solr搜索海量歷史數據,速度非常快,毫秒級返回數據
- es支持分布式,節點對外表現對等,加入節點自動均衡
- es完全支持Apache Lucene的接近實時的搜索
- es處理多租戶multitenancy不需要特殊配置,而Solr需要更多的高級設置
- es采用Gateway的概念,使得數據持久化更簡單
- es各節點組成對等的網絡結構,某些節點出現故障時會自動分配其他節點代替其進行工作
-
使用方式:
- solr一般要部署到web服務器上,比如tomcat,啟動tomcat,配置solr和tomcat的關聯
- es一般可以單獨啟動,然后es和spring整合,調用SpringDataElasticSearch里面提供的方法
補充
逗號分隔值(Comma-Separated Values,CSV),其文件以純文本形式存儲表格數據(數字和文本),文件的每一行都是一個數據記錄。每個記錄由一個或多個字段組成,用逗號分隔。使用逗號作為字段分隔符是此文件格式的名稱的來源,因為分隔字符也可以不是逗號,有時也稱為字符分隔值。
field_name,field_name,field_name CRLF
aaa,bbb,ccc CRLF
zzz,yyy,xxx CRLF
csv文件的特點:
1.文件結構簡單,基本上和文本的差別不大;
2.可以和microExcle進行轉換,這是一個很大的優點,很容易進行察看模式轉換,但是如果你同樣的csv文件和將其轉換成xls文件后的size比較就更加明白他在size上的優勢了。
3.由於其簡單的存儲方式,一方面可以減少存儲信息的容量,這樣有利於網絡傳輸以及客戶端的再處理;同時由於是一堆沒有任何說明的數據,具備基本的安全性。