高邮建设局网站,wordpress 饼状图,北京建网站的,汽车网站模板下载RESTful JSON
REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。 Web 应用程序最重要的 REST 原则是#xff0c;客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。…RESTful JSON
REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。 Web 应用程序最重要的 REST 原则是客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启客户端不会得到通知。此外无状态请求可以由任何可用服务器回答这十分适合云计算之类的环境。客户端可以缓存数据以改进性能。
在服务器端应用程序状态和功能可以分为各种资源。资源是一个有趣的概念实体它向客户端公开。资源的例子有应用程序对象、数据库记录、算法等等。每个资源都使用 URI(Universal Resource Identifier) 得到一个唯一的地址。所有资源都共享统一的接口以便在客户端和服务器之间传输状态。使用的是标准的 HTTP 方法比如 GET、 PUT、 POST 和DELETE。
在 REST 样式的 Web 服务中每个资源都有一个地址。资源本身都是方法调用的目 标方法列表对所有资源都是一样的。这些方法都是标准方法包括 HTTP GET、 POST、PUT、 DELETE还可能包括 HEAD 和 OPTIONS。简单的理解就是如果想要访问互联网上的资源就必须向资源所在的服务器发出请求请求体中必须包含资源的网络路径 以及对资源进行的操作(增删改查)。
REST 样式的 Web 服务若有返回结果大多数以JSON字符串形式返回。 **JSON格式的好处**JSON便于序列化和反序列化
ES的基本概念 倒排索引的概念及好处
概念 倒排索引创建keyword与id的关系记录了包含某keyword的所有文档的编号、词频等信息。这让我们能够在O(1)的时间内判断某个文档是否包含某个词而且还可以基于词频、相关度等统计信息进行搜索结果排序快速对全文内容进行检索 优势 高效的文本搜索由于倒排索引通过单词快速定位到含有该单词的文档所以搜索效率非常高 支持分词分词可以将连续字母或数字序列划分为有意义的词组或单个词汇这些分词信息可以被用于构建索引从而实现更加精确的搜索结果。 支持高级搜索功能倒排索引可以使用词间关系、词条权重等信息对搜索结果进行精确匹配、布尔运算和相关度排序
索引的创建查询 删除
创建
建索引就等同于创建数据库向 ES 服务器发 PUT 请求 http://127.0.0.1:9200/shopping shopping为索引名
查询
GET请求查询索引信息 查看所有索引 发 GET 请求 http://127.0.0.1:9200/_cat/indices?v 请求路径中的_cat 表示查看的意思 indices 表示索引所以整体含义就是查看当前 ES服务器中的所有索引
删除
发 DELETE 请求 http://127.0.0.1:9200/shopping
文档-创建Put Post
向 ES 服务器发 POST 请求 http://127.0.0.1:9200/shopping/_doc 请求体JSON内容为 _doc索引中添加文档 此处发送请求的方式必须为 POST不能是 PUT否则会发生错误 PUT要求幂等性而POST不要求 如果想要自定义唯一性标识需要在创建时指定 http://127.0.0.1:9200/shopping/_doc/1
{title:小米手机,category:小米,images:http://www.gulixueyuan.com/xm.jpg,price:3999.00
}查询-主键查询 全查询
主键查询
向 ES 服务器发 GET 请求 http://127.0.0.1:9200/shopping/_doc/1
全查询
查看索引下所有数据向 ES 服务器发 GET 请求 http://127.0.0.1:9200/shopping/_search
全量修改 局部修改 删除
全量修改
和新增文档一样输入相同的 URL 地址请求如果请求体变化会将原有的数据内容覆盖向 ES 服务器发 PUT 请求 http://127.0.0.1:9200/shopping/_doc/1
局部修改
向 ES 服务器发 POST 请求 http://127.0.0.1:9200/shopping/_update/1 请求体
doc: {title:小米手机,category:小米}删除
删除一个文档不会立即从磁盘上移除它只是被标记成已删除逻辑删除 向 ES 服务器发 DELETE 请求 http://127.0.0.1:9200/shopping/_doc/1
条件查询 分页查询 查询排序
条件查询
方式1该方式如果条件为中文可能会导致乱码 查找category为小米的文档
http://127.0.0.1:9200/shopping/_search?qcategory:小米方式2请求体方式
{query:{match:{category:小米}}
}查找所有内容
{query:{match_all:{}}
}分页查询
向 ES 服务器发 GET请求 http://127.0.0.1:9200/shopping/_search
{query:{match_all:{}},from:0,#页码-1 *每页条数size:2_source:[title]
}查询排序
{query:{match_all:{}},sort:{price:{order:desc}}
}多条件查询 范围查询
多条件查询
bool表示条件 must表示多条件同时成立should表示或者
{query:{bool:{must:[{match:{category:小米}},{match:{price:3999.00}}]}}
}范围查询
使用filter操作
{query:{bool:{should:[{match:{category:小米}},{match:{category:华为}}],filter:{range:{price:{gt:2000}}}}}
}全文检索 完全匹配 高亮查询
全文检索
将检索进行分词不用完全匹配 { “query”:{ “match”:{ “category” : “小华” } } }
完全匹配
{query:{match_phrase:{category : 为}}
}高亮查询
{query:{match_phrase:{category : 为}},highlight:{fields:{category:{}//----高亮这字段}}
}聚合查询
{aggs:{//聚合操作price_group:{//名称随意起名terms:{//分组field:price//分组字段}}}
}若不想要不附带原始数据的结果
{aggs:{price_group:{terms:{field:price}}},size:0
}对所有手机价格求平均值
{aggs:{price_avg:{//名称随意起名avg:{//求平均field:price}}},size:0
}映射关系
定义字段的约束信息
PUT http://127.0.0.1:9200/user/_mapping{properties: {name:{type: text,//可以分词index: true},sex:{type: keyword,//不可分词 需完整匹配index: true},tel:{type: keyword,index: false//没有被索引 不支持查询}}
}