Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

920
Visualizações
Cómo corregir el error "no se pudo analizar el campo de fecha" en Elasticsearch

Traté de hacer una consulta en Elasticsearch a través de python. Quiero obtener todos los valores en la última hora a partir de ahora. Para esto escribí este script:

 import time from elasticsearch import Elasticsearch from datetime import datetime, timedelta es = Elasticsearch() index = "standalone" filename = "2017-12-22V2.csv" Timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S') one_hour_from_now = datetime.now() - timedelta(hours=1) one_hour_from_now = one_hour_from_now.strftime('%Y-%m-%d %H:%M:%S') query = {"query":{"bool":{"must":{"range":{"Time":{"gt":one_hour_from_now,"lt":Timestamp}}},"must_not":[],"should":[]}},"from":0,"size":10,"sort":[],"aggs":{}} ret = es.search(index, body=query) print("ret", ret)

Cuando lo ejecuto me sale este error:

 es.search exception: TransportError(400, 'search_phase_execution_exception', 'failed to parse date field [2018-02-12 15:50:26] with format [strict_date_optional_time||epoch_millis]')

Esta es la estructura de mi índice ES: Estructura de búsqueda elástica

Puede alguien ayudarme por favor

Gracias

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

De la documentación parece que ha fallado la fecha de formato. Según su captura de pantalla, sus datos están en este formato:

 yyyy-MM-dd'T'HH:mm:ss

Según la documentación este formato es

 date_hour_minute_second or strict_date_hour_minute_second

Con la biblioteca de fecha y hora en python, ha dado forma a su formato de fecha de esta manera:

 yyyy-MM-dd HH:mm:ss

Intente convertir en la consulta de rango la strict_date_optional_time - el formato de fecha predeterminado en es, utilizado en su campo de fecha de acuerdo con la estructura de su índice es - con la cláusula de formato y cámbielo con el valor yyyy-MM-dd HH:mm:ss

o cambie su código de línea:

 one_hour_from_now = one_hour_from_now.strftime('%Y-%m-%d %H:%M:%S')

en

 one_hour_from_now = one_hour_from_now.strftime("%Y-%m-%d"'T'"%H:%M:%S")

y no especifique un formato en la consulta o especifique el correcto

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda