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

如何在创建索引请求中创建索引类型和id?

商德泽
2023-03-14

我使用的是弹性6.3.2中的IndexRequest。现在我更改为版本7.6.2。如何使用CreateIndexRequest执行以下相同的步骤?

弹性Rest高级客户端6.3.2代码:

 public Object createIndex(Object document, String id) throws IOException {

        Map documentMapper = objectMapper.convertValue(document, Map.class);

        IndexRequest indexRequest = new IndexRequest(this.getIndexName(),
                type, id).source(documentMapper, XContentType.JSON);

        IndexResponse indexResponse = client.index(indexRequest);
        return null;
    }

切换到7.6.2后,我无法在CreateIndexRequest中创建类型、id和源。

共有1个答案

索令
2023-03-14

Elasticsearch 7中不推荐使用类型。下面是代码,它适用于我使用resthighlevel客户端。

请注意,我没有使用resthighlevel客户端的CreateIndexRequest方法中的类型和id。

String indexString = jsonUtil.getStringFromFile(indexName + ".mapping");
CreateIndexRequest request = new CreateIndexRequest(indexName);
request.source(indexString, XContentType.JSON);
client.indices().create(request, RequestOptions.DEFAULT);

有关详细信息,请参阅删除类型。

 类似资料:
  • CreateIndexes 根据struct中的tag来创建索引 CreateUniques 根据struct中的tag来创建唯一索引

  • 源码 .. index:: 创建, 索引, 测试

  • 问题内容: 如何使用Elasticsearch Nest API重新创建以下索引? 这是包含映射的索引的json: 这是我的尝试: 该文档没有提及任何内容? 更新: 找到了使用此帖子 然后添加带有字符串文字json的Analysis。 在哪里可以找到更多类似的例子,这行得通吗? 问题答案: 在旧版本中创建索引 您可以通过两种主要方法来完成此操作,如Nest Create Index文档中所述 :

  • 用于为表创建索引。 索引是一组指针,它指的是MDC或ITC表中的表块中的行,XML存储对象中的XML数据,这些XML数据在逻辑上按一个或多个键的值排序。 索引用于提高查询数据的速度以及有效地对数据进行聚类和分区。 索引可以增强视图操作的性能。具有唯一索引的表可以包含具有唯一键的行。 可以根据表要求创建不同类型的索引。 索引类型 唯一和非唯一索引 群集和非群集索引 单击create index,它将

  • 命令用于在用户指定的列上创建一个索引。 如果您选择索引的列已存在数据,则Cassandra会在“”语句执行后在指定数据列上创建索引。 语法: 创建索引的规则 由于主键已编入索引,因此无法在主键上创建索引。 在Cassandra中,不支持集合索引。 没有对列进行索引,Cassandra无法过滤该列,除非它是主键。 示例: 让我们举个例子来演示如何在列上创建索引。 在这里,我们为表“”中的“”列创建一

  • 主要内容:基本语法,创建普通索引,创建唯一索引创建索引是指在某个表的一列或多列上建立一个索引,可以提高对表的访问速度。创建索引对 MySQL 数据库的高效运行来说是很重要的。 基本语法 MySQL 提供了三种创建索引的方法: 1) 使用 CREATE INDEX 语句 可以使用专门用于创建索引的 CREATE INDEX 语句在一个已有的表上创建索引,但该语句不能创建主键。 语法格式: CREATE <索引名> ON <表名> (<列名> [