elasticsearch

elasticsearch的安装后期再补充,还有对应的elasticsearch-head  的插件
 
elasticsearch
restful接口使用方法
    RESTful接口URL的格式:
   其中index、type是必须提供的。
   id是可选的,不提供es会自动生成。
    index、type将信息进行分层,利于管理。
     index可以理解为数据库;type理解为数据表;id相当于数据库表中记录的主键,是唯一的
 
 
文档索引的建立
  返回的信息可以看到创建是成功的,并且版本号是1;ES会对记录修改进行版本跟踪,第一次创建记录为1,同一条记录每修改一次就追加1。 
     至此一条记录就提交到ES中建立了索引,注意HTTP的方法是PUT,不要选择错了   
索引文档的更新   
 更新接口与创建接口完全一样,ES会查询记录是否存在,如果不存在就是创建,存在就是更新操作。
因此更新的时候与添加是一样的 要所有字段进行更新
 
增删改查分别对应:HTTP请求的PUT、GET、DELETE方法。PUT调用是如果不存在就是创建,已存在是更新。
 
查询文档
如果查询某一个索引下的数据可按下面风格来实现:
http://<ip>:<port>/<索引>/<类型>/<文档id>
 
 
 
 
ES的删除delete核心的参考这个
 
也可以参考这个地址对几种查询条件的理解
 
对should的理解可以参考
 
 
 
其他参考的地址
 
 
 
 
有的ES的删除不好使可能需要delete by query
 
 
 
参考网址
 
还看到这种更新方式
更新文档(类似mysql update操作)
http://localhost:9200/blog/ariticle/1/_update/ POST
{“script”:”ctx._source.content = \”new version 2.0 20160714\”“}
 
更新后结果显示:
{
 
“_index”: “blog”,
“_type”: “ariticle”,
“_id”: “1”,
“_version”: 2,
“_shards”: {
”total”: 2,
“successful”: 1,
“failed”: 0
}
}
 
查询&验证更新后结果:(对比可知,版本号已经更新完毕)
 
{
 
- "_index": "blog",
- "_type": "ariticle",
- "_id": "1",
- "_version": 2,
- "found": true,
- "_source": {
- "title": "New version of Elasticsearch released!",
- "content": "new version 2.0 20160714",
- "tags": [
- "announce"
- ,
- "elasticsearch"
- ,
- "release"
- ]
- }
 
}
`![这里写图片描述](https://img-blog.csdn.net/20160717132407353)``
 
注意更新文档需要在elasticsearch_win\config\elasticsearch.yml下新增以下内容:
 
script.groovy.sandbox.enabled: true
script.engine.groovy.inline.search: on
script.engine.groovy.inline.update: on
script.inline: on
script.indexed: on
script.engine.groovy.inline.aggs: on
index.mapper.dynamic: true
 
posted @ 2019-05-29 18:05  那些年的代码  阅读(376)  评论(0编辑  收藏  举报