自带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.由于其简单的存储方式,一方面可以减少存储信息的容量,这样有利于网络传输以及客户端的再处理;同时由于是一堆没有任何说明的数据,具备基本的安全性。