kibana索引模式不显示带有时间过滤器字段名的数据

q35jwt9p  于 2021-06-10  发布在  ElasticSearch
关注(0)|答案(0)|浏览(476)

我试图从java代码中创建一个索引来索引一些数据,但是如果我用时间过滤器创建索引模式,kibana就不会显示任何数据。在创建带有某些设置的索引并为日期字段添加索引模板时,请遵循以下顺序

CreateIndexRequest request = new CreateIndexRequest(indexName);
        request.settings(Settings.builder()
                .put("index.max_inner_result_window", 250)
                .put("index.write.wait_for_active_shards", 1)
                .put("index.query.default_field", "paragraph")
                .put("index.number_of_shards", 3)
                .put("index.number_of_replicas", 2)
                .loadFromSource(Strings.toString(
                        XContentFactory.jsonBuilder()
                        .startObject()
                        .startObject("analysis")
                        .startObject("analyzer")
                        .startObject("englishAnalyzer")
                        .field("tokenizer", "standard")
                        .field("char_filter", "html_strip")
                        .field("filter", new String[] { "snowball", "standard", "lowercase" })
                        .endObject()
                        .startObject("email")
                        .field("filter", new String[] { "standard", "lowercase" })
                        .field("type", "custom")
                        .field("tokenizer", "uax_url_email")
                        .endObject()
                        .endObject()
                        .endObject()
                        .endObject()), XContentType.JSON));
        CreateIndexResponse createIndexResponse = client.indices().create(request, RequestOptions.DEFAULT);

在模板下面插入第一条记录之前。

PutIndexTemplateRequest request = new PutIndexTemplateRequest(templateName);
            request.patterns(templateList);
            request.settings(Settings.builder().put("index.number_of_shards", 3).put("index.number_of_replicas", 1));
            XContentBuilder builder = XContentFactory.jsonBuilder();
            builder.startObject();
            {
                builder.startObject("properties");
                {
                    builder.startObject("createdDate");
                    {
                        builder.field("type", "date").field("format", "yyyy-MM-dd HH:mm:ss.SSS");
                    }
                    builder.endObject();
                }
                builder.endObject();
            }
            builder.endObject();
            request.mapping(builder);
            request.version();
            client.indices().putTemplate(request, RequestOptions.DEFAULT);

然后我将下面的记录作为json插入,但在创建带有时间过滤器的索引模式时,会在kibana发现中继续显示空结果

{
  "createdDate": "2020-11-25 13:33:36.782",
  "userId": "raw.man@bee.com",
}

不明白我的代码出了什么问题。我用的是麋鹿7.4
如果我选择“我不想使用时间过滤器”,那么我可以看到kibana中的数据

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题