如前所述restful艺术风格的基本上ES检索校订改查操作方式
一类应用软件开发艺术风格,而并非国际标准,而已提供更多了几组结构设计准则和不动点。它主要就用作应用程序和伺服器可视化类的应用软件。如前所述那个艺术风格结构设计的应用软件能更筒洁,更有层级,更更易同时实现内存等监督机制。基本上Rest指示表明
检索的基本上操作方式
运转es,kibana、es-head
建立两个检索
PUT /检索名/~类别名~/文件格式id{ 允诺体}
顺利完成了手动増加了检索!统计数据也获得成功的加进了
所以name那个表头用不必选定类别呢。毕亮他们亲密关系型资料库是须要选定类别的啊 预设类别:
数组类别:text、keyword值类别:ling,integer,short,byte,double,float,half float,scaled float年份类别:datete常量类别:boolean十进制类别:binary之类选定表头的类别
PUT /test2{ “mappings”: { “properties”: { “name”:{ “type”: “text” }, “age”:{ “type”: “long” }, “birthday”:{ “type”: “date” } } }}
信息
GET /检索名/~类别名~/文件格式id
如果自己的文件格式表头没有选定,所以es就会给他们预设配置表头类别
展:通过指示 elasticsearch检索情況!通过get_cat/能获得es的当前的很多信息!
修改检索状态
POST /检索名称/类别名称/文件格式名称/_update
PUT /test3/_doc/1{ “name”:”joker”, “age”:18, “sex”:”男”}POST /test3/_doc/1/_update{ “doc”:{ “name”:”joker_dj” }}
删除检索
通过 DELETE指示同时实现州除、根据你的允诺来判断是删除检索还是删除文件格式记录!
DELETE /检索名称/类别名称/文件格式名称
删除选定文件格式
DELETE 检索名称/类别名称/文件格式id{ 方法体}例:DELETE test3/_doc/1{ “name”:”joker_dj”}
文件格式的基本上操作方式
基本上操作方式
建立索引
PUT /joker/user/1{ “name”:”joker_dj”, “age”:18, “desc”:”java小萌新”, “tags”:[“技术宅”,”直男”]}PUT /joker/user/1{ “name”:”joker_dj”, “age”:18, “desc”:”java小萌新”, “tags”:[“技术宅”,”直男”]}PUT /joker/user/3{ “name”:”李四”, “age”:5, “desc”:”合伙人”, “tags”:[“坏人”]}
GET /检索名称/类别名称/文件格式id
修改文件格式
重新put一边就是修改 (不推荐) version就是统计数据被改动的次数
POST _update,推荐使用这种更新方式
POST /检索名称/类别名称/文件格式id/_update{ “doc”:{ “fieds”:”value” }}POST /joker/user/3/_update{ “doc”:{ “name”:”张三的哥哥李四” }}
文件格式搜索
简单的搜索
GET /检索名称/[类别名称]/[文件格式id]
高级搜索 条件查询
GET /检索名称/[类别名称]/_search?q=fieds:value
复杂操作方式搜索 select(排序,分页,高亮,模糊査询,精准查询!)
根据_score分数进行排序 查看谁最匹配
只要文件格式中包含value的就会被查出来 前提是被分词器捕获GET /检索名称/类别名称/_search{ “query”: { “match”: { “fileds”: “value” } }}GET /joker/user/_search{ “query”: { “match”: { “name”: “张三” } }}
过滤表头
GET /检索名称/类别名称/_search{ “query”: { “match”: { “fileds”: “value” } }, “_source”: [“fileds”,”fileds”]}GET /joker/user/_search{ “query”: { “match”: { “name”: “张三” } }, “_source”: [“desc”,”name”]}
排序
GET /检索名称/类别名称/_search{ “query”: { “match”: { “fileds”: “value” } }, “_source”: [“fileds”,”fileds”], “sort”: [ { “fileds”: { “order”: “desc” } } ]}例:GET /joker/user/_search{ “query”: { “match”: { “name”: “张三” } }, “_source”: [“desc”,”name”,”age”], “sort”: [ { “age”: { “order”: “desc” } } ]}
分页查询
GET /joker/user/_search{ “query”: { “match”: { “name”: “张三” } }, “from”: 0, # 起始值 page “size”: 20 # 查询大小 pageSize}
统计数据下标还是从0开始的,和学的所有统计数据结构是一样的! /seach/{current}/{pageSize}
布尔查询
多条件查询 must 相当于 and
GET /joker/user/_search{ “query”: { “bool”: { “must “: [ { “match”: { “name”: “张三” } }, { “match”: { “age”: 5 } } ] } }}
should相当于 or
GET /joker/user/_search{ “query”: { “bool”: { “should”: [ { “match”: { “name”: “张三” } }, { “match”: { “age”: 5 } } ] } }}
not操作方式
GET /joker/user/_search{ “query”: { “bool”: { “must_not”: [ { “match”: { “name”: “张三” } }, { “match”: { “age”: 5 } } ] } }}
过滤器 filter
GET /joker/user/_search{ “query”: { “bool”: { “must_not”: [ { “match”: { “name”: “张三” } } ], “filter”: { “range”: { “age”: { “gt”: 1, } } } } }}
筛选年龄大于1
gt 大于lt 小于gte 大于等于lte 小于等于匹配多个条件
多个条件之间使用空格隔开 只满足其中两个即可查出
通过分值基本上判断
精确查询
term查询是直接通过倒排检索选定的词条进程精确的查找的! 关于分词:
term :直接查询精确的match:会使用分词器解析!(先分析文件格式,然后在通过分析的文件格式进行查询!)两个类别 text 、 keyword keyword不会被分词器解析 text 会被分词器解析
多个值匹配的精确查询
高亮查询
GET /joker/user/_search{ “query”: { “match”: { “name”:”张三” } }, “highlight”: { “fields”: { “name”:{ } } }}
自定义高亮标签
GET /joker/user/_search{ “query”: { “match”: { “name”:”张三” } }, “highlight”: { “pre_tags”:”<p class=key style=color:red>”, “post_tags”:”</p>”, “fields”: { “name”:{ } } }}