JAVA操作Elasticsearch指定主键_id生成策略

这篇具有很好参考价值的文章主要介绍了JAVA操作Elasticsearch指定主键_id生成策略。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

Elasticsearch一共有两种主键生成策略,一个是手动指定和一个是自动生成!

1. JAVA操作Elasticsearch手动指定ID

  IndexRequest indexRequest = new IndexRequest(indexName);
  // 手动指定id
  indexRequest.id(obj.getId());

效果如图
JAVA操作Elasticsearch指定主键_id生成策略

2. JAVA操作Elasticsearch自动生成ID

无须指定ID,es会自动生成id规则

3. DSL方式手动指定ID

示例

PUT /index/type/id
{
    "xxx":"xxx"
}

真实请求

PUT /cs_index/product/2
{
 "name":"xingdailu",
 "desc":"nvmingxing",
 "price":100
}

执行结果

{
  "_index": "cs_index",
  "_type": "product",
  "_id": "2",
  "_version": 1,
  "result": "created",
  "_shards": {
    "total": 2,
    "successful": 1,
    "failed": 0
  	}
  }

4. DSL方式自动生成ID

示例(请求中不带/id)

POST /index/type
{
    "xxx":"xxx"
}

真实请求

POST /test_index/order/
{
  "user":"3"
}

执行结果文章来源地址https://www.toymoban.com/news/detail-401988.html

{
  "_index": "test_index",
  "_type": "order",
  "_id": "op33M2jBk5d8CGC4Toxn",
  "_version": 1,
  "result": "created",
  "_shards": {
    "total": 2,
    "successful": 1,
    "failed": 0
	}
}

到了这里,关于JAVA操作Elasticsearch指定主键_id生成策略的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mybatis-plus 主键生成策略

    mybatis-plus3.3.0以后,主要有五种主键生成策略 aout自动增长策略,这个配合数据库使用,mysql可以,但是oracle不行。 使用方法 在主键字段上加上 @TableId(type = IdType.AUTO) 自定义输入策略 Mybatis-Plus 内置了如下数据库主键序列(如果内置支持不满足你的需求,可实现 IKeyGenerator 接口

    2024年02月10日
    浏览(40)
  • Java根据id对elasticsearch查询操作

    一、根据一个id查询 二、根据多个ids查询

    2024年02月12日
    浏览(52)
  • JPA 注解及主键生成策略使用指南

    参考:JPA Spring Data JPA学习与使用小记 指定对象与数据库字段映射时注解的位置 :如@Id、@Column等注解指定Entity的字段与数据库字段对应关系时,注解的位置可以在Field(属性)或Property(属性的get方法上),两者统一用其中一种,不能两者均有。推荐用前者。 @Entity、@Table @

    2024年02月03日
    浏览(40)
  • 如何在Insert插入操作之后,获取自增主键的ID值

    MyBatis中,在大多数情况下,我们向数据库中插入一条数据之后,并不需要关注这条新插入数据的主键ID。我们也知道,正常在DAO中的插入语句虽然可以返回一个int类型的值,但是这个值表示的是插入影响的行数,而不是新插入数据的主键ID。 近期有一个需求,核心是保存一些

    2024年02月09日
    浏览(47)
  • 48 分布式id的生成策略

    1.UUID UUID由以下几部分的组合: UUID 是由一组32位数的16进制数字所构成,以连字号分隔的五组来显示,形式为 8-4-4-4-12,总共有 36个字符(即三十二个英数字母和四个连字号)。例如: 如果需求是只保证唯一性,那么UUID也是可以使用的,但是按照上面的分布式id的要求, UU

    2024年01月17日
    浏览(39)
  • Mybatis-plus id生成策略

    目录 1.1、为什么选择不同的id生成策略 1.2、策略种类 1.2.1、AUTO(自动增长策略) 1.2.3、ASSIGN_ID(雪花算法) 1.2.4、ASSIGN_UUID(不含中划线的UUID) 1.2.5、NONE(无状态) 1.3、注意 1、Mybatis-plus提供了多种主键生成策略, 可以在Pojo类中主键上加注解进行配置,例如数据库主键自

    2023年04月25日
    浏览(39)
  • Mybatis-Plus id生成策略控制

    目录 id生成策略控制 不同的表应用不同的id生成策略 名称 @TableId AUTO策略 除了AUTO这个策略以外,还有如下几种生成策略: 分布式ID是什么? INPUT策略 ASSIGN_ID策略 ASSIGN_UUID策略 雪花算法 ID生成策略对比 不同的表应用不同的id生成策略 日志:自增(1,2,3,4,……) 购物订单:特殊

    2024年02月22日
    浏览(47)
  • ElasticSearch序列 - SpringBoot整合ES:根据指定的 ids 查询

    1. ElasticSearch 根据 ids 查询文档 ① 索引文档,构造数据 ② 查询文档 id 为 1 或者 2 的文档: 我们索引文档时,文档的id为整型,为什么查询出来的文档 id为字符串类型呢?如果我们使用字符串类型的文档id查询呢? 可以看到仍然可以查询到匹配的文档。 在Elasticsearch中,文档

    2024年02月11日
    浏览(55)
  • 分布式id、系统id、业务id以及主键之间的关系

    连分布式ID都理解不了,你是刚培训出来冒充面试官的吧 分布式ID、系统ID、业务ID和主键的关系: 分布式ID:在分布式系统中,由于存在多个独立的节点,为了保证每个节点生成的ID都是全局唯一的,就需要用到分布式ID。它是全局唯一的,可以用作数据库的主键。 系统ID:一

    2024年02月15日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包