«Неверный формат даты и времени. Значение: 2020-01-07 11:46:44» сластиком поиска - PullRequest
0 голосов
/ 07 января 2020

У меня проблема, когда я пытаюсь получить информацию из эластичного поиска.

, когда я делаю простой запрос:

var searchResponse = client.Search<injectedData>(s => s.MatchAll());

Я ловлю invalid datetime format. value:2020-01-07 11:46:44 как ошибку

Что я не понимаю, так это то, что я указываю точный формат при сериализации DateTime

public class MyDateTimeConverter : IsoDateTimeConverter
{
    public MyDateTimeConverter()
    {
        DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
    }
}

class injectedData
{
    public String Id { get; set; }

    [JsonConverter(typeof(MyDateTimeConverter))]
    public DateTime process_start_time { get; set; }

    [JsonConverter(typeof(MyDateTimeConverter))]
    public DateTime item_start_time { get; set; }

    [JsonConverter(typeof(MyDateTimeConverter))]
    public DateTime item_end_time { get; set; }

    [JsonConverter(typeof(MyDateTimeConverter))]
    public DateTime end_time { get; set; }

    public long process_execution_duration { get; set; }
    public int metadata_type { get; set; }
    public String machine { get; set; }
    public String windows_session { get; set; }
    public String proces_name { get; set; }
    public String item { get; set; }
}

Отображение выглядит следующим образом

{
  "properties": {
    "process_start_time": {
      "type": "date",
      "format":"yyyy-MM-dd HH:mm:ss"
    },
    "item_start_time": {
        "type": "date",
      "format":"yyyy-MM-dd HH:mm:ss"
    },
    "item_end_time": {
        "type":"date",
      "format":"yyyy-MM-dd HH:mm:ss"
    },
    "end_time": {
        "type":"date",
      "format":"yyyy-MM-dd HH:mm:ss"
    }
  }
}

Мне кажется, что я не могу понять, откуда проблема. У кого-нибудь есть идея?

обновление 14: 01: 2020

Так что, кажется, что если я вставлю данные без отображения в формат базового времени гггг DDD 'T'HHmmss.SSSZ "Like this" 2019-07-04T05: 53: 00,544 "У меня нет проблем.

Не могу я работать с пользовательским форматом даты если я использую гнездо?

1 Ответ

0 голосов
/ 16 января 2020

Так что я не знаю, почему я не мог работать с пользовательским форматом даты, но я везде изменил формат на временной c, и теперь он работает. Я до сих пор не понимаю, почему это не сработало так, как раньше, но думаю, что нет, или я что-то пропустил.

...