Elasticsearch - NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index)



我正在尝试使用python从elastisearch索引中检索文档。其代码如下:

def get_data_es():
ES_HOST = {
"host": "localhost",
"port": 9200
}
ES_INDEX = "radius_ml_posts"
ES_TYPE = {'author': 'vaibhav'}
es = Elasticsearch(hosts=[ES_HOST,])
count = 0
while True:
try:
es.ping()
print("Elasticsearch server bounded at url: {}".format(es.cat.master().split()[-2]))
results_gen = elasticsearch.helpers.scan(
es,
query={"query": {"match_all": {}}},
index=ES_INDEX
)
break
except elasticsearch.exceptions.ConnectionError:
time.sleep(15)
count += 1
print("Trying to connect to elasticsearch server. Retry number: {}".format(count))
print("Connections info: {}".format(es.transport.connection_pool.connections))
return list(results_gen)

当我调用此函数时,出现以下错误:

data = get_data_es()
Elasticsearch server bounded at url: 172.29.0.3
Traceback (most recent call last):
File "<ipython-input-39-cd0614623725>", line 1, in <module>
data = get_data_es()
File "<ipython-input-38-af72b83dd516>", line 27, in get_data_es
return list(results_gen)
File "/opt/anaconda3/lib/python3.7/site-packages/elasticsearch/helpers/actions.py", line 445, in scan
body=query, scroll=scroll, size=size, request_timeout=request_timeout, **kwargs
File "/opt/anaconda3/lib/python3.7/site-packages/elasticsearch/client/utils.py", line 92, in _wrapped
return func(*args, params=params, headers=headers, **kwargs)
File "/opt/anaconda3/lib/python3.7/site-packages/elasticsearch/client/__init__.py", line 1627, in search
body=body,
File "/opt/anaconda3/lib/python3.7/site-packages/elasticsearch/transport.py", line 362, in perform_request
timeout=timeout,
File "/opt/anaconda3/lib/python3.7/site-packages/elasticsearch/connection/http_urllib3.py", line 252, in perform_request
self._raise_error(response.status, raw_data)
File "/opt/anaconda3/lib/python3.7/site-packages/elasticsearch/connection/base.py", line 282, in _raise_error
status_code, error_message, additional_info
NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index [radius_ml_posts]', radius_ml_posts, index_or_alias)

我检查了 elasticsearch 服务器和索引本身。它们都启动并运行良好。

python 中 elasticsearch 的版本是 '7.7.0'。

你能帮忙解决这个问题吗?

我认为您可以尝试使用create_if_not_exists。然后也许以索引的名义找出这个异常

相关内容

最新更新