当前位置: 首页 > 知识库问答 >
问题:

使用Spring用JSON中的文档填充ElasticSearch索引

安经纶
2023-03-14

如何使用Spring/spring-data-elasticsearch用JSON文件中的多个文档填充ES中的现有索引?

编辑

我知道ES BulkAPI和Spring的elasticsearch chTemplate.bulkIndex(indexQueries);方法,但是这样我必须自己处理JSON解析(我想避免这种方式)。但是如果我们已经知道索引和映射,我想知道是否有更简单的方法只需要传递foo.json文件?

共有1个答案

陶飞英
2023-03-14

我不认为spring data elasticsearch中有这样的功能。但你可以这样做:-

1.为索引设置正确的映射(带有json结构)

2.创建索引并放置映射。

3.使用JSON解析器并解析输入的json文件,如下所示:-

     //parse json file
     JSONParser parser = new JSONParser();
     Object object = parser.parse(new FileReader("mydoc\\test.js"));
     JSONObject jsonData = (JSONObject) object;
     // index parsed contents
     IndexQuery indexQuery = new IndexQueryBuilder().withIndexName(indexName).
                        withSource(jsonData.toString()).build();
     elasticsearchTemplate.index(indexQuery);

我不确定这是不是你正在看的,但这可能会有所帮助。

 类似资料:
  • 格式 jsTree需要特定的格式才能使用JSON。在标准语法中,不需要任何字段-仅传递您需要的内容。请记住,您将能够访问您指定的任何其他属性-jsTree不会触及它们,以后您将能够使用它们(original在每个节点上使用该属性)。 要更改节点的图标,请使用icon属性。指定包含的字符串/将显示该图像作为节点图标。使用任何其他字符串将把该类<i>应用于用于表示图标的元素。您可以使用布尔值false

  • 问题内容: 我有一个JSON请求,该请求从youtube返回一个响应,其中包含对特定视频的评论。我目前有3种文本视图:一种用于名称/上载器,一种用于内容,一种用于发布日期- 然后用我的JSON响应中的数据填充。 我的问题是-仅出现第一个评论,发布日期和上传者。 我相信我将需要用列表视图替换我的textviews并将其解析为3个字段-我只是不知道如何。 爪哇 公共类Player扩展了YouTubeB

  • 问题内容: 假设我要搜索一系列嵌入式文档或子文档,但将它们的父母作为我的结果返回,例如“建筑物和单元”: 现在假设我要退回所有单位> = 1000平方英尺的建筑物。我该怎么做? 问题答案: 将单位大小存储为数组: 并搜索:

  • 主要内容:创建索引在本节中,我们将向Elasticsearch添加一些索引,映射和数据。此数据将用于本教程中解释的示例中。 创建索引 请求正文 它可以包含索引特定的设置,但是现在,它的默认设置为空。 响应 这意味着创建索引成功 创建映射和添加数据 Elasticsearch将根据请求体中提供的数据自动创建映射,我们将使用其批量功能在此索引中添加多个JSON对象。 请求体 响应结果 - 添加另一个索引 创建索引 请求

  • 问题内容: 我只是在学习Elasticsearch和Javascript,由于易用性,我刚开始使用Google图表。 我正在尝试根据Elasticsearch查询呈现Google图表。由于数据格式不正确,该图表无法呈现。这是我的无效代码: 我遇到的问题是从查询返回的数据不是“字段”,而是整个查询摘要。 有没有办法只保留字段就返回此查询?也许有一种方法可以查询并格式化PHP文件中的数据,然后可以在图

  • 假设我有这样一个模型 和这样的文档。 如果我执行以下操作,页面将永远不会加载。 如果里面有一个实际的ObjectID,它可以正常工作,但当它是空白的时候就不行了。 如果值中没有ObjectID,是否有一种方法可以默认为null?