首页 > 解决方案 > 用于在 Java 中搜索日期类型的 RangeQuery

问题描述

我在java中使用elasticsearch客户端进行了查询,当我尝试搜索日期时,他们给了我这个错误

执行阶段[查询]失败,所有分片失败;shardFailures {[-AAmwvoOSUmuCZKhW-SZug][car][0]: RemoteTransportException[[-AAmwvo][127.0.0.1:9300][indices:data/read/search[phase/query]]]; 嵌套:ElasticsearchParseException [无法解析日期字段 [Wed Dec 04 00:00:00 GMT+01:00 2019]

我的查询代码是这样的:


    private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    String sourceDate = "2019-12-04T00:00:00.000Z";


        Date myDate = dateFormat.parse(sourceDate);

 if (query == null) {

                        query = QueryBuilders.boolQuery().must(QueryBuilders.rangeQuery("Date Field")

                                .from(myDate)

                                .to(myDate)

                                .includeLower(true)

                                .includeUpper(false));

                    } else {

                        query = query.must(QueryBuilders.rangeQuery("Date Field")

                                .from(myDate)

                                .to(myDate)
                                .includeLower(true)

                                .includeUpper(false));

            }

关于这个问题的任何想法?谢谢

标签: javaelasticsearch

解决方案


推荐阅读