ES原理?
ES是基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全问搜索引擎,且ES支持RestFulweb风格的url访问。ES是基于java开发的开源搜索引擎,设计用于云计算,能够达到实时搜索,稳定、可靠、快速。此外,ES还提供了数据聚合分析功能,但在数据分析方面,es的时效性不是很理想,在企业应用中一般还是用于搜索。ES自2016年起已经超过Solr等,称为排名第一的搜索引擎应用。
ES、Lucene、solr对比:
Luence是Apache基于Java编写的信息搜索工具包(jar包),它包含了索引结构、读写索引工具、相关性工具、排序等功能,因此Lucene的使用需要我们进一步开发搜索引擎系统, 如果数据获取、解析、分词等
Solr 是一个有http接口的基于Lucene的查询服务器,是一个搜索引擎系统,系统封装了很多lucene细节,Solr可以直接利用HTTP GET/POST 请求去查询,维护修改索引。Solr利用zookeeper进行分布式管理,它的实现更加全面,官方提供的功能更多。
es保存数据特点?
ES即为了解决Lucene使用的不足,优化Lucene的调用方式,并实现了高可用的分布式集群的搜索方案,其第一个版本于2010年2月出现在GitHub上并迅速成为最受欢迎的项目之一。
首先,ES的索引库管理支持依然是基于Apache Lucene的开源搜索引擎。
ES也使用J***a开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的 RESTful api来隐藏Lucene的复杂性,从而让全文搜索变得简单。
不过,ES的核心不在于Lucene,其特点更多的体现为:分布式的实时文件存储,每个字段都被索引并可被搜索分布式的实时分析搜索引擎可以扩展到上百台服务器,处理PB(内存单位)级结构化或非结构化数据高度集成化的服务,你的应用可以通过简单的 Restful API、各种语言的客户端甚至命令行与之交互。(以Lucene的不足衬托ES的优点)。
花两万块学个J***a软件开发,有没有用?
学软件,学编程是个系统工程……不是3个月,8个月能学成的……
事实例子,表哥儿子苏大的一个专科生,6万多学了一年半,去南京某企业8千左右,不到8个月就回来了,干不了。没有正经本科科班的基础劝你还是不用去。学软件数据结构必须非常熟悉,j***a或python这种平台型的语言至少精通一门,我比较熟悉j***a,jdk中的collection,concurrent,io,nio这些基本的都需要数年的。目前很对都是网络,[_a***_]的就更多更烦了。网络的JSP,servlet,jms,html,js,database都要知道吧,前端要是也要懂个30-50%,react,angular,vue至少精通一个吧!就最简单的vue也要一段时间上手的,做UI你element或iview也要熟悉一个吧。关于数据库的rdbms,小公司MySQL,大公司Oracle,中型的postgresql又少不了,SQL又要十分精通,nosql又非常繁杂,培训机构教的redis,memcache其实用的很少的,elasticsearch,apache ignite,mongodb,kafaka……至少会两种……
想想bat的工程师基本都是985,211的基本都是996的作息时间,不是这个行当的想想吧!
好有手机方面的小程序,app等不是一般学习能力的人能跟得上的。
数学一定要好,数据结构一定要好,英文也必须非常OK,能读懂软件,框架的帮助文档,api