官网上相关概念的解释
首先官网上对ES有这样的描述,Elasticsearch它支持分布式RESTful风格的搜索和分析,那么这就表示Elasticsearch,它允许采用RESTful风格的方式发请求进行软件的访问,它其实就是一种特定互联网软件的架构原则,这个原则称之为叫REST原则。而REST其实是几个单词的缩写,它表示资源状态转换,就说在请求的资源其实是有状态的,而这个状态会根据一些原则进行改变和转换,符合这个原则的软件架构,就称之为叫RESTful风格的架构。可能在概念上有点抽象,其实HTTP协议就遵循了REST原则,比如在外部中资源的唯一标识是URI,叫统一资源路径,可以在浏览器中输入这个路径来作为网上资源,比如http://localhost:9200/test/test.txt,这个路径呢,其实是可以作为网络上的资源,但是这个路径是不应该包含对资源的操作,比如增加修改路径是不该存在的。那么在RESTful风格的架构中要求,要遵循统一的接口原则,就包括了一种受限制的预定义的操作,无论什么样的资源都应该通过使用相同的接口对资源进行访问,那么这里的接口应该符合标准的HTTP的方法,比如GET、POST、PUT、DELETE、HEAD等。那么,就需要遵循这些方法,那就意味着路径是资源的定位,方法是对资源的操作。如果按HTTP的方法来暴露资源,那么接口就会将具有安全性和幂等性的特性。比如GET和HEAD,它们的请求都是安全的,无论请求多少次,都不会改变服务器资源的状态。而GET、HEAD、PUT、DELETE它们的请求都是幂等性的,就是说无论对资源操作了多少次,结果总是一样的,后面的请求并不会比第一个请求产生更多的影响,PUT插入的东西永远是相同的,但是POST它就不是密能性了。所以,当采用RESTful风格向ES软件发出请求之后,ES软件就会返回响应,那么它的返回响应的数据格式是一个叫JSON格式,其实可以在请求体当中也发送符合JSON格式的字符串发给服务器,那服务器拿到以后也可以做相应的处理,所以ES软件,它的数据发送和数据的返回,其实都是以JSON为标准格式的。
JSON格式
JSON,其实它是JavaScript Object Notation的缩写,它表述的是一种特殊标记的JavaScript对象。在JavaScript语言中,其实表现对象有很多种方式,其中有一个比较简单的表述方式
var obj = {}
当把{}给obj 变量的时候,这个变量已经是个对象了,这个就叫特殊标记。但是光有对象是不够的,那对象中如果有属性怎么办?
var obj = {“name”:“zhangsan”,“age”:30}
其中name叫属性,zhangsan是属性值。再比如这个对象表示一个用户,那么如果用户它里面会有一些别的信息怎么办?一个详细信息当中包含了我们的email信息,那这样的话呢,可以把它列出来,现在就是一种对象的嵌套。
var obj = {“name”:“zhangsan”,“age”:30,“info”:{“email”:“xxxxxxx”}}
如果想表示一个集合也可以
var objs = [obj,obj]
主要是因为这种格式,更容易把它转换成一个字符串在网络中传递,记住网络中是传不了对象的。
比方说Java当中有一个叫new Object(),这个没有办法在网络中传递,只能把它序列化通过网络传递,对方再去反序列化,那这样就会稍微显得有点儿麻烦。那如果能把这样格式的内容转换成符串儿,那它不也就能够在网络中传递吗?而且识别起来会更加容易,大家想是这样的吗?所以,这种JSON在很多的软件,很多的框架当中都在使用。
注意一下,ES软件,它的数据格式的存储,其实用的就是JSON格式。
简单地总结一下:JSON字符串:网络中传递的字符串的格式符合JSON格式,把这样的字符串就统称为叫JSON字符串。
Postman安装
如果直接通过浏览器向Elasticsearch服务器发请求,那么需要在发送的请求中包含HTTP标准的方法,而HTTP的大部分特性且仅支持GET 和POST方法。所以为了能方便
地进行客户端的访问,可以使用Postman软件。
Postman是一款强大的网页调试工具,提供功能强大的WebAPI和HTTP请求调试。软件功能强大,界面简洁明晰、操作方便快捷,设计得很人性化。Postman 中文版能够发送任何类型的HTTP请求(GET, HEAD, POST, PUT…),不仅能够表单提交,且可以附带任意类型请求体。|
Postman官网
Postman下载