Sea*_* W. 2 python pypy elasticsearch
我有一些将数据保存到 Elasticsearch 的代码。它在 Python 3.5.2 (cpython) 中运行良好,但在 pypi3 6.0.0 (Python 3.5.3) 上运行时会引发异常。任何想法为什么?
File "/opt/venvs/parsedmarc/site-packages/parsedmarc/elastic.py", line 366, in save_forensic_report_to_elasticsearch
forensic_doc.save()
File "/opt/venvs/parsedmarc/site-packages/elasticsearch_dsl/document.py", line 394, in save
index=self._get_index(index),
File "/opt/venvs/parsedmarc/site-packages/elasticsearch_dsl/document.py", line 138, in _get_index
raise ValidationException('You cannot write to a wildcard index.')
elasticsearch_dsl.exceptions.ValidationException: You cannot write to a wildcard index
Run Code Online (Sandbox Code Playgroud)
我尝试了几种将 DocType 交换为 Document、添加或删除类 Index 或类 Meta 的组合。但是,在任何组合中,索引的名称都是空的。调试证明了这一点,经过一些调整,我让它工作了。
这段代码对我有用:
class Index:
# index = 'sample_index'
name = 'sample_index'
Run Code Online (Sandbox Code Playgroud)
请注意,我没有尝试仅将其与名称一起使用。此外,它适用于 DocType,但它也应该适用于新的 Document 类。
参考GitHub 上 Sean 的问题。上面的解决方案在线程上得到了确认。将它放在一个地方,前面提到的链接:文档以替换 DocType 以获取较新版本的 Elasticsearch。
归档时间: |
|
查看次数: |
1301 次 |
最近记录: |