Elasticsearch Java API(九)--删除文档的field以及field的属性

一、需求

项目中需要实现删除文档的一个field以及删除指定field的一个属性.

以文档test/document/1为例:

{
    "_index": "test",
    "_type": "document",
    "_id": "1",
    "_score": 1,
    "_source": {
        "class": "com.test.data",
        "id": 1,
        "items": [{
            "class": "com.test.data",
            "id": 1
        }],
        "lastUpdated": "2016-07-22T11:26:56Z",
        "processInstance": {
            "class": "com.test.data",
            "id": 1
        },
        "tianshu": 0.5,
        "bianhao": "askaa3333a"
    }
}

删除”bianhao”就是删除一个field,删除”processInstance”的”id”就是删除field的一个属性.

二、删除field

client.prepareUpdate("test", "document", "1").setScript(new Script(     "ctx._source.remove(\"bianhao\")",ScriptService.ScriptType.INLINE, null, null)).get();

三、删除field的属性

client.prepareUpdate("test", "document", "1").setScript(new Script(     "ctx._source.processInstance.remove(\"id\")",ScriptService.ScriptType.INLINE, null, null)).get();

四、fild属性为数组

暂时没有找到方法,待更新.

时间: 2024-10-18 20:40:01

Elasticsearch Java API(九)--删除文档的field以及field的属性的相关文章

ElasticSearch Java Api -创建索引

ElasticSearch JAVA API官网文档:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-docs-index.html 一.生成JSON 创建索引的第一步是要把对象转换为JSON字符串.官网给出了四种创建JSON文档的方法: 1.1手写方式生成 String json = "{" + "\"user\":\"kimchy\"

大数据技术之_20_Elasticsearch学习_01_概述 + 快速入门 + Java API 操作 + 创建、删除索引 + 新建、搜索、更新删除文档 + 条件查询 + 映射操作

一 概述1.1 什么是搜索?1.2 如果用数据库做搜索会怎么样?1.3 什么是全文检索和 Lucene?1.4 什么是 Elasticsearch?1.5 Elasticsearch 的适用场景1.6 Elasticsearch 的特点1.7 Elasticsearch 的核心概念1.7.1 近实时1.7.2 Cluster(集群)1.7.3 Node(节点)1.7.4 Index(索引 --> 数据库)1.7.5 Type(类型 --> 表)1.7.6 Document(文档 -->

REST API (更新删除文档)

Elasticsearch的更新文档API准许通过脚本操作来更新文档.更新操作从索引中获取文档,执行脚本,然后获得返回结果.它使用版本号来控制文档获取或者重建索引. 我们新建一个文档: 请求:PUT http://localhost:9200/test/type1/1?pretty 参数: { "counter" : 1, "tags" : ["red"] } 脚本开启功能 在最新版本的Elasticsearch中,基于安全考虑(如果用不到,请保

Elasticsearch学习笔记-04.2删除文档

删除文档非常的简单而直观.下面的例子示意了如何删除我们之前创建的ID为2的客户文档: DELETE /customer/external/2?pretty 要删除所有满足检索条件的文档可以参考 [Delete By Query API].不过这个API并没有太大价值,因为删除整个索引要比删除索引中的满足条件的所有的文档来的更高效. 本文系本人根据官方文档的翻译,能力有限.水平一般,如果对想学习Elasticsearch的朋友有帮助,将是本人的莫大荣幸. https://www.elastic.c

Elasticsearch Java API (二): index创建删除 cluster管理

Elasticsearch Java API (二): index创建删除 cluster管理  elastic官网有权威的java api 英文的 需要耐心看 这里整理下基本操作 创建maven工程添加依赖 <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>transport</artifactId> <version>5.2.2</ver

Java如何制作帮助文档(API)

Java如何制作帮助文档(API) 步骤如下: (1)写一个工具类 (2)对这个类加入文档注释 (3)用工具解析文档注释 javadoc工具 (4)格式 javadoc -d 目录 -author -version ArrayTool.java 制作帮助文档(API)出错问题解决: 找不到可以文档化的公共或受保护的类 这句话告诉我们对想要操作的类的权限不够.在类前面加上public即可. 如下图所示02: --------------------------------------- 将来做开发

Elasticsearch Java API简要总汇

3.1 集群的连接 3.1.1 作为Elasticsearch节点 [html] view plain copy 代码: import static org.elasticsearch.node.NodeBuilder.nodeBuilder; import org.elasticsearch.client.Client; import org.elasticsearch.node.Node; Node node = nodeBuilder().clusterName("escluster2&q

[转载]Elasticsearch Java API总汇

from: http://blog.csdn.net/changong28/article/details/38445805#comments 3.1 集群的连接 3.1.1 作为Elasticsearch节点 [html] view plaincopy 代码: import static org.elasticsearch.node.NodeBuilder.nodeBuilder; import org.elasticsearch.client.Client; import org.elast

第08章 ElasticSearch Java API

本章内容 使用客户端对象(client object)连接到本地或远程ElasticSearch集群. 逐条或批量索引文档. 更新文档内容. 使用各种ElasticSearch支持的查询方式. 处理ElasticSearch返回的错误信息. 通过发送各种管理指令来收集集群状态信息或执行管理任务. 8.3 连接到集群 8.3.1 成为ElasticSearch节点 第一种连接到ElasticSearch节点的方式是把应用程序当成ElasticSearch集群中的一个节点. Node node=no