Elasticsearch-如何使用Java在JSON对象中添加或编辑字符串数组? - java

我在Java中分别具有用户ID,名称和类型变量,如int,string和arraylist。我想像这样将其插入Elasticsearch数据库中:

users
{
    "userid": 5,
    "name": "test",
    "type": ["U1", "U2"]
}

1)如何使用Java客户端(高级API)实现此目标?

2)如何附加到“类型”字段(假设存在)?

示例:我想在“类型”字段中添加“ U3”,这样

users
{
    "userid": 5,
    "name": "test",
    "type": ["U1", "U2", "U3"]
}

参考方案

您可以使用脚本将值添加到数组。

POST /users/_update/5
{
    "script" : {
        "source": "ctx._source.type.add(params.type)",
        "lang": "painless",
        "params" : {
            "type" : "U3"
        }
    }
}

从那里获取:https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html

抱歉,我不知道如何使用高级API Java客户端。

使用R包的弹性搜索客户端 - java

我正在使用elastic search作为数据存储。在我的项目中,我需要使用elastic search分析R数据。在java中,我使用es客户端执行了这些操作。但是我在R中找不到任何支持elastic search操作的软件包。我已经尝试过使用RCurl软件包,例如:count <- fromJSON(getURL("http://loca…

Jhipster弹性搜索数据迁移 - java

我们正在为新项目使用jhipster生成器。为了存储数据,我们选择Postgres以及elasticsearch,所有搜索操作都将使用elasticsearch执行。当我们启动应用程序时,它使用liquibase上传csv文件并将数据转储到表中。我们增加了csv文件的数量,并对liquibase配置文件进行了一些更改,但是现在发现的问题是它仅转储csv数据仅…

JSON PATH字段NULL检查表达式 - java

我有一个像bellow的json数组:{ "store": { "book": [ { "category": "reference", "author": "Nigel Rees", "title": "Sa…

Java Map,如何将UTF-8字符串正确放置到地图? - java

我有一个地图,LinkedHashMap更确切地说。我想在上面放一个字符串对象。然后,我读取此值以查看实际存储的内容。字符串本身具有非ASCII字符(西里尔文,韩文等)。将其放到地图上然后阅读后,这些字符将替换为??? s。一些代码:Map obj = new LinkedHashMap(); System.out.println("name: &…

Java Double与BigDecimal - java

我正在查看一些使用双精度变量来存储(360-359.9998779296875)结果为0.0001220703125的代码。 double变量将其存储为-1.220703125E-4。当我使用BigDecimal时,其存储为0.0001220703125。为什么将它双重存储为-1.220703125E-4? 参考方案 我不会在这里提及精度问题,而只会提及数字…