java实现 elasticsearch es 的单个条件查询和多个条件查询,根据id更新指定字段

这篇具有很好参考价值的文章主要介绍了java实现 elasticsearch es 的单个条件查询和多个条件查询,根据id更新指定字段。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

先注入文章来源地址https://www.toymoban.com/news/detail-504259.html

@Autowired
private RestHighLevelClient restHighLevelClient;

1:ES根据单个条件查询

public String searchEsAttachmentsLink(String riskId,String dataFrom){
try {
//添加条件,
    SearchSourceBuilder searchSourceBuilder = SearchSourceBuilder.searchSource()
            .size(1)
            .query(QueryBuilders.termQuery( name: "字段", 值));
//拼装
    SearchRequest searchRequest = new SearchRequest()
        .indices(索引)
        .source(searchSourceBuilder);
//用ESClient执行search,得到响应结果
    SearchResponse searchResponse =         
    restHighLevelClient.search(searchRequest,RequestOption.DEFAULT);
//根据自己返回的数据格式取值
    SearchHit[] hits = searchResponse.getHits().getHits();
    for (SearchHit hit : hits) {
//取值
        hit.getSourceAsMap().get("字段");
    }
    

       return null;
}

2:ES根据多个条件查询

BoolOueryBuilder boolOueryBuilder = new BoolOueryBuilder();
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
//用must拼接where条件
boolQueryBuilder.must(QueryBuilders.termQuery("字段","值"))
                .must(QueryBuilders.termQuery("字段","值");
SearchRequest searchRequest = new SearchRequest()
            .indices(索引)
            .source(searchSourceBuilder);
searchSourceBuilder.query(boolQueryBuilder);
log.info("拼接后的请求参数: ",searchRequest);
SearchResponse searchResponse = restHighLevelclient.search(searchRequest,RequestOptions .DEFAULT) ;
log.info("查询后的结果: ",searchResponse);
//取值
SearchHitl] hits = searchResponse.getHits() .getHits();

3:ES根据id,局部更新文档

UpdateRequest updateRequest = new UpdateRequest();
updateRequest.index(索引);
updateRequest.type("_doc");
updateRequest.id(id);
//添加where条件
updateRequest.doc(
        XContentFactory.jsonBuilder(
                .startobject()
                .field( "字段", "值")
                .field( "字段", "值")
                .endobject()
    );
//执行
String resultUpdate = restHighlevelClient.update(updateRequest, Request0ptions.DEFAULT).getResult().tostring();

到了这里,关于java实现 elasticsearch es 的单个条件查询和多个条件查询,根据id更新指定字段的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • ElasticSearch第十四讲 ES有条件复杂查询

    模糊匹配 模糊匹配主要是针对文本类型的字段,文本类型的字段会对内容进行分词,对查询时,也会对搜索条件进行分词,然后通过倒排索引查找到匹配的数据,模糊匹配主要通过match等参数来实现 match : 通过match模糊匹配条件内容 prefix : 前缀匹配 regexp : 通过正则表达

    2024年02月03日
    浏览(48)
  • ElasticSearch系列 - SpringBoot整合ES:查询条件 query 和过滤条件 filter 的区别

    01. Elasticsearch 查询条件和过滤条件的区别? Elasticsearch中的查询条件和过滤条件都是用于搜索和过滤文档的条件,但它们之间有一些区别。 查询条件是用于计算文档相关度得分的条件,它会将所有符合条件的文档按照相关度得分从高到低排序,并返回前N个文档。查询条件可以

    2024年02月14日
    浏览(60)
  • 【Elasticsearch】ES查询出满足以下其中任意一个条件的订单

    需求:最近测试经理给我这边提出一个需求,大致可以描述为查询出\\\" 购买的商品名称中包含’测试’ “、” 订单的收货地址包含’B360’ \\\"、“收货人手机号为测试人员的手机号”; 一、实现方案 当时评估了两种方案: ①、直接从数据库中查询; ②、从ES中查询; 方案①

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

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

    2024年02月11日
    浏览(56)
  • sql语句转为es查询条件(elasticsearch-sql使用)

    github源码地址: https://gitee.com/weiyxiong_admin/elasticsearch-sql/blob/master/src/test/java/org/nlpcn/es4sql/ExplainTest.java 1、添加pom.xml依赖 2、scala 将sql转为es查询json语句 3、测试 4、查询返回结果展示(即步骤三esJSON结果打印) 5、打开postman

    2024年02月13日
    浏览(53)
  • ES es Elasticsearch 十三 Java api 实现搜索 分页查询 复杂查询 过滤查询 ids查询 等

    目录 Java api 实现搜索 Pom.xml 建立链接 搜索全部记录 增加规则值查某些字段 搜索分页 全代码 Ids 搜索 搜索Match搜索 multi_match 搜索 多字段搜索 复杂查询 bool查询 filter  bool 复杂查询增加过滤器查询 复杂擦好像加排序 日志 思路 参考 api 写法 写Java代码 请求条件构建层次

    2024年02月04日
    浏览(60)
  • ElasticSearch进阶:多种查询操作,各种ES查询以及在Java中的实现

    目录 前言 1 词条查询 1.1 等值查询-term 1.2 多值查询-terms 1.3 范围查询-range 1.4 前缀查询-prefix 1.5 通配符查询-wildcard 2 复合查询 2.1 布尔查询 2.2 Filter查询 3 聚合查询 3.1 最值、平均值、求和 3.2 去重查询 3.3 分组聚合 3.3.1 单条件分组 3.3.2 多条件分组 3.4 过滤聚合 ElasticSearch 第一篇

    2024年02月02日
    浏览(53)
  • ElasticSearch系列 - SpringBoot整合ES:多个精确值查询 terms

    ElasticSearch - SpringBoot整合ES:多个精确值查询 terms 01. ElasticSearch terms 查询支持的数据类型 在Elasticsearch中,terms查询支持多种数据类型,包括: 字符串类型:可以将多个字符串值作为数组传递给terms查询,以匹配包含任何一个指定字符串值的文档。 数值类型:可以将多个数值作

    2024年02月16日
    浏览(71)
  • 【ElasticSearch】ES自动补全查询与Java接口实现

    自动补全就是当用户在搜索框输入字符时,我们应该提示出与该字符有关的搜索项。 要实现根据字母做补全,就必须对文档按照拼音分词。GitHub上有相关插件,地址:https://github.com/medcl/elasticsearch-analysis-pinyin,下载和ES对应的版本。 安装步骤: 解压 上传到虚拟机中,elasti

    2024年02月15日
    浏览(45)
  • java 操作elasticsearch 6.8.0 根据某个条件批量删除数据

    注: 连接es以及依赖相关内容请自行配置,只提供方法。 依赖如下 代码如下

    2024年01月21日
    浏览(49)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包