gpt4 book ai didi

python - python的Elasticsearch客户端,无解

转载 作者:太空狗 更新时间:2023-10-29 20:33:14 24 4
gpt4 key购买 nike

我选择了带有 graylog2 的 elasticsearch,这一周过得非常糟糕。我正在尝试使用 Python 对 ES 中的数据运行查询。

我试过关注客户。

  1. ESClient - 非常奇怪的结果,我认为它没有维护,query_body 没有效果,它返回所有结果。
  2. Pyes - 不可读,未记录。我浏览了资源,但无法弄清楚如何运行简单的查询,也许我没有那么聪明。我什至可以运行 json 格式的基本查询,然后简单地使用 Python 对象/迭代器对结果进行分析。但 Pyes 并不容易。
  3. Elasticutils - 另一个有记录但没有完整示例的工具。我收到以下附有代码的错误。我什至不知道它是如何使用这个 S() 连接到正确的主机的?

    es = get_es(hosts=HOST, default_indexes=[INDEX])

    basic_s = S().indexes(INDEX).doctypes(DOCTYPE).values_dict()

结果:

 print basic_s.query(message__text="login/delete")
File "/usr/lib/python2.7/site-packages/elasticutils/__init__.py", line 223, in __repr__
data = list(self)[:REPR_OUTPUT_SIZE + 1]
File "/usr/lib/python2.7/site-packages/elasticutils/__init__.py", line 623, in __iter__
return iter(self._do_search())
File "/usr/lib/python2.7/site-packages/elasticutils/__init__.py", line 573, in _do_search
hits = self.raw()
File "/usr/lib/python2.7/site-packages/elasticutils/__init__.py", line 615, in raw
hits = es.search(qs, self.get_indexes(), self.get_doctypes())
File "/usr/lib/python2.7/site-packages/pyes/es.py", line 841, in search
return self._query_call("_search", body, indexes, doc_types, **query_params)
File "/usr/lib/python2.7/site-packages/pyes/es.py", line 251, in _query_call
response = self._send_request('GET', path, body, querystring_args)
File "/usr/lib/python2.7/site-packages/pyes/es.py", line 208, in _send_request
response = self.connection.execute(request)
File "/usr/lib/python2.7/site-packages/pyes/connection_http.py", line 167, in _client_call
return getattr(conn.client, attr)(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/pyes/connection_http.py", line 59, in execute
response = self.client.urlopen(Method._VALUES_TO_NAMES[request.method], uri, body=request.body, headers=request.headers)
File "/usr/lib/python2.7/site-packages/pyes/urllib3/connectionpool.py", line 294, in urlopen
return self.urlopen(method, url, body, headers, retries-1, redirect) # Try again
File "/usr/lib/python2.7/site-packages/pyes/urllib3/connectionpool.py", line 294, in urlopen
return self.urlopen(method, url, body, headers, retries-1, redirect) # Try again
File "/usr/lib/python2.7/site-packages/pyes/urllib3/connectionpool.py", line 294, in urlopen
return self.urlopen(method, url, body, headers, retries-1, redirect) # Try again
File "/usr/lib/python2.7/site-packages/pyes/urllib3/connectionpool.py", line 294, in urlopen
return self.urlopen(method, url, body, headers, retries-1, redirect) # Try again
File "/usr/lib/python2.7/site-packages/pyes/urllib3/connectionpool.py", line 255, in urlopen
raise MaxRetryError("Max retries exceeded for url: %s" % url)
pyes.urllib3.connectionpool.MaxRetryError: Max retries exceeded for url: /graylog2/message/_search

我希望这个好项目的开发者能提供一些完整的例子。即使查看消息来源,我也不会完全不知所措。

是否有任何解决方案,使用 elasticsearch 和 python 帮助我,或者我应该放弃所有这些并支付一个不错的 splunk 帐户并结束这种痛苦。

我正在继续使用 curl,下载整个 json 结果并用 json 加载它。希望这能奏效,尽管 curl 从 elasticsearch 下载 100 万条消息可能不会发生。

最佳答案

我发现 rawes 非常有用: https://github.com/humangeo/rawes

这是一个相当低级的界面,但我发现使用它比使用高级界面要容易得多。如果您喜欢,它还支持 Thrift RPC。

关于python - python的Elasticsearch客户端,无解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11797035/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com