小编Ahm*_*lin的帖子

如何修复 Elasticsearch 中的“无法解析日期字段”错误

我试图通过 pyton 在 ELasticsearch 中进行查询。我想从现在开始获得过去一小时内的所有值。为此,我写了这个脚本:

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)
Run Code Online (Sandbox Code Playgroud)

当我执行它时,我收到此错误:

 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]')
Run Code Online (Sandbox Code Playgroud)

这是我的 ES 索引的结构: 弹性搜索结构

有人能帮助我吗

谢谢

python parsing timestamp elasticsearch

11
推荐指数
1
解决办法
3万
查看次数

Elastisearch通过查询更新

我在python中使用此代码来更新elasticsearch中的文档.它运行正常,但很难将它用于数百万个文档,因为我必须id每次初始化值以更新每个文档.

from elasticsearch import Elasticsearch, exceptions

elasticsearch = Elasticsearch()

elasticsearch.update(index='testindex', doc_type='AAA',   id='AVpwMmhnpIpyZkmdMQkT',
                 body={
                     'doc':{'Device': 'updated'}
                 }
                 )
Run Code Online (Sandbox Code Playgroud)

我在Elasticsearch文档中读到它尚未包含但是:https: //www.elastic.co/guide/en/elasticsearch/reference/current/_updating_documents.html

请注意,在撰写本文时,一次只能对单个文档执行更新.将来,Elasticsearch可以提供在给定查询条件(如SQL UPDATE-WHERE语句)的情况下更新多个文档的功能.

python elasticsearch

6
推荐指数
1
解决办法
7065
查看次数

如何在for循环中存储字典

我想将数据值存储在我的 dict{} 字典中,但出现错误。

mydict= {}
for entity in entities:
     if entity.entity_id.startswith('sensor'):
         list = remote.get_state(api, entity.entity_id)
         data = {list.attributes['friendly_name'] : list.state}
         for key, val in data.items():
             mydict+= {key:val}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误。

mydict+= {key:val}
TypeError: unsupported operand type(s) for +=: 'dict' and 'dict'
Run Code Online (Sandbox Code Playgroud)

python dictionary for-loop store

0
推荐指数
1
解决办法
1万
查看次数