Elasti c NEST Client: Как использовать высокоуровневый клиент для размещения шаблона - PullRequest
0 голосов
/ 03 апреля 2020

Я не могу понять, как реализовать мою текущую реализацию размещения шаблона в C# Nest Client.

Вот что я получил до сих пор

//const string Template = "{\"index_patterns\": \"datapoints-*\","
            //                        + "\"settings\": {\"number_of_shards\": 1,\"number_of_replicas\": 0},"
            //                        + "\"order\": 10,"
            //                        + "\"mappings\": {"
            //                        + "\"dynamic\": false,"
            //                        + "\"properties\": {"
            //                        + "\"batchId\": {\"type\": \"keyword\"},"
            //                        + "\"id\": {\"type\": \"keyword\"},"
            //                        + "\"numberOfDataPointsInRange\": {\"type\": \"double\",\"ignore_malformed\": true},"
            //                        + "\"parameterId\": {\"type\": \"keyword\"},"
            //                        + "\"rangeMaxValue\": {\"type\": \"double\",\"ignore_malformed\": true},"
            //                        + "\"rangeMinValue\": {\"type\": \"double\",\"ignore_malformed\": true},"
            //                        + "\"standardDeviation\": {\"type\": \"double\",\"ignore_malformed\": true},"
            //                        + "\"timestamp\": {\"type\": \"date\"},"
            //                        + "\"value\": {\"type\": \"double\",\"ignore_malformed\": true}}}}";

Вот что новая имплантация может выглядеть, но я просто не знаю, как поступить с type double и ignore_malformed true

        var putResponse = elasticClient.Indices.PutTemplate(
            templateName,
            t => t
                .IndexPatterns("datapoints-*")
                .Settings(
                    s => s.NumberOfShards(1)
                        .NumberOfReplicas(0))
                .Order(10)
                .Map(
                    m => m.Dynamic(false)
                        .Properties(
                            p =>
                                p.Keyword(k => k.Name("batchId"))
                                    .Keyword(k => k.Name("id"))
                                    .DoubleRange(d=>d.Name("numberOfDataPointsInRange"))
                        ))
        );
...