ES: 按时间范围查询

//查询100条需要更新的project信息
    public List<Project> getTopOutdatedProjectFromES(int size) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String str1 = "2020-1-1 0:0:0";
        Date time1 = null, time2 = null;
        try {
            time1 = sdf.parse(str1);
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(new Date());
            calendar.add(Calendar.MINUTE, -120);
            time2=calendar.getTime();

        } catch (Exception ex) {
            log.info(ex.getMessage());
        }

        BoolQueryBuilder bqr1=QueryBuilders.boolQuery()
                .must(QueryBuilders.existsQuery("projectMemberUpdatingTime"))
                .must(QueryBuilders.rangeQuery("projectMemberUpdatingTime").from(time1).to(time2));

        BoolQueryBuilder bqr2=QueryBuilders.boolQuery()
                .mustNot(QueryBuilders.existsQuery("projectMemberUpdatingTime"));

        BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
        boolQueryBuilder.should(bqr1);
        boolQueryBuilder.should(bqr2);

        QueryBuilder queryBuilder = QueryBuilders.boolQuery()
                .mustNot(QueryBuilders.termQuery(DEL_FLAG, true))
                .must(QueryBuilders.existsQuery("deptInfoListMap"))
                .must(boolQueryBuilder)
                ;


        PageRequest page = new PageRequest(0, size);
        List<Project> projects = Lists.newArrayList(projectRepository.search(queryBuilder, page));
        return projects;

    }
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ElasticSearch查询构建器 该chrome扩展程序提供了易于使用的界面来配置不同的权重并动态增强选定字段的搜索结果,这将通过提供获得所需搜索结果所需的索引设置和文档映射来减少学习曲线,并为您可以通过在ES中运行相同的查询来减少开发时间,并在“结果”面板中显示结果。 可以在运行时更改设置以微调搜索结果,并将所有设置保存在“收藏夹”中,以备后用。 连接到ElasticSearch Server:提及正在运行ES的主机和端口(10.240.0.251:9200),然后按connect按钮。 构建查询:连接到服务器后,它将在可用的“索引和文档”下拉列表中列出所有索引及其对应的文档。 选择要为其生成查询的文档。现在,在“配置”选项卡下,您可以看到所选文档的所有字段的列表。 “配置”选项卡“动态得分”下的“选项”:它用于从多个匹配记录中提升特定记录,该匹配记录除了具有搜索关键字之外,还具有在booster字段中定义的值。 以相同顺序搜索:优先考虑以相同顺序找到的单词,而不是以相同顺序反对在同一行中找到的单词。 特殊字符:这将允许搜索字母数字,camelCase和用特殊字符(如(_,-等)分隔的单词。 生成查询:基于选定的选项,它将动态生成所需的索引设置,文档映射并构建查询。 “配置”选项卡权重下的选项:如果在多个字段中找到相同的单词,则用于为该字段赋予优先级。 给定字段得分更高的记录将被赋予更高的优先级,并排在首位。 过滤器:用于过滤掉从查询中收到的结果。如果选择了任何过滤器和值,则只会显示满足过滤条件的记录。 可以通过按+/-按钮在不同的数字字段上添加/删除类似(必须,范围)的过滤器。在结果中显示:这允许配置要在结果中看到的字段。您可以选择结果数要与默认情况下要查看的字段一起显示,将显示前五个字段。 您可以根据需要选择任何字段。 查询结果将显示在表格中。 在字段中搜索:这使用户可以选择要为给定查询搜索的文档字段。 显示结果:此按钮将带有要搜索的单词以及要显示的结果的最大大小,并建立一个动态查询,该查询针对选择的文档索引触发,它将获取结果并显示在结果面板下。 支持语言:English

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值