django elasticsearch dsl与AWS elasticsearch
我正在尝试使用AWS ElasticBeanStalk来部署使用django elasticsearch dsl与AWS elasticsearch,django,elasticsearch,Django,elasticsearch,我正在尝试使用AWS ElasticBeanStalk来部署使用Django elasticsearch dsl的Django应用程序,我需要在第一次加载它时运行/manage.py search\u index--rebuild。因此,在我的容器命令中,我有: 03_elasticsearch: command: "source /opt/python/run/venv/bin/activate && ./src/manage.py search_index --rebui
Django elasticsearch dsl
的Django应用程序,我需要在第一次加载它时运行/manage.py search\u index--rebuild
。因此,在我的容器命令中,我有:
03_elasticsearch:
command: "source /opt/python/run/venv/bin/activate && ./src/manage.py search_index --rebuild"
问题是它正在等待问题的n/Y。是否确实要删除“hjsm local”索引?[n/Y]:
我如何重建我的不雅
更新
当我使用
03_elasticsearch:
command: "source /opt/python/run/venv/bin/activate && ./src/manage.py search_index --rebuild -f"
我得到这个错误
Traceback (most recent call last):
File "./src/manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/opt/python/run/venv/local/lib64/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
utility.execute()
File "/opt/python/run/venv/local/lib64/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/opt/python/run/venv/local/lib64/python3.6/site-packages/django/core/management/base.py", line 316, in run_from_argv
self.execute(*args, **cmd_options)
File "/opt/python/run/venv/local/lib64/python3.6/site-packages/django/core/management/base.py", line 353, in execute
output = self.handle(*args, **options)
File "/opt/python/run/venv/local/lib/python3.6/site-packages/django_elasticsearch_dsl/management/commands/search_index.py", line 134, in handle
self._rebuild(models, options)
File "/opt/python/run/venv/local/lib/python3.6/site-packages/django_elasticsearch_dsl/management/commands/search_index.py", line 114, in _rebuild
self._create(models, options)
File "/opt/python/run/venv/local/lib/python3.6/site-packages/django_elasticsearch_dsl/management/commands/search_index.py", line 84, in _create
index.create()
File "/opt/python/run/venv/local/lib/python3.6/site-packages/elasticsearch_dsl/index.py", line 102, in create
self.connection.indices.create(index=self._name, body=self.to_dict(), **kwargs)
File "/opt/python/run/venv/local/lib/python3.6/site-packages/elasticsearch/client/utils.py", line 69, in _wrapped
return func(*args, params=params, **kwargs)
File "/opt/python/run/venv/local/lib/python3.6/site-packages/elasticsearch/client/indices.py", line 110, in create
params=params, body=body)
File "/opt/python/run/venv/local/lib/python3.6/site-packages/elasticsearch/transport.py", line 327, in perform_request
status, headers, data = connection.perform_request(method, url, params, body, ignore=ignore, timeout=timeout)
File "/opt/python/run/venv/local/lib/python3.6/site-packages/elasticsearch/connection/http_urllib3.py", line 110, in perform_request
self._raise_error(response.status, raw_data)
File "/opt/python/run/venv/local/lib/python3.6/site-packages/elasticsearch/connection/base.py", line 114, in _raise_error
raise HTTP_EXCEPTIONS.get(status_code, TransportError)(status_code, error_message, additional_info)
elasticsearch.exceptions.TransportError: <exception str() failed>
(ElasticBeanstalk::ExternalInvocationError)
回溯(最近一次呼叫最后一次):
文件“/src/manage.py”,第10行,在
从命令行(sys.argv)执行命令
文件“/opt/python/run/venv/local/lib64/python3.6/site packages/django/core/management/_init__.py”,第381行,从命令行执行
utility.execute()
文件“/opt/python/run/venv/local/lib64/python3.6/site-packages/django/core/management/_-init__.py”,执行中第375行
self.fetch_命令(子命令)。从_argv(self.argv)运行_
文件“/opt/python/run/venv/local/lib64/python3.6/site-packages/django/core/management/base.py”,第316行,从_argv运行
self.execute(*args,**cmd_选项)
文件“/opt/python/run/venv/local/lib64/python3.6/site packages/django/core/management/base.py”,第353行,在execute中
输出=self.handle(*args,**选项)
文件“/opt/python/run/venv/local/lib/python3.6/site packages/django_elasticsearch_dsl/management/commands/search_index.py”,第134行,在handle中
自我重建(模型、选项)
文件“/opt/python/run/venv/local/lib/python3.6/site packages/django_elasticsearch_dsl/management/commands/search_index.py”,第114行,在
自创建(模型、选项)
文件“/opt/python/run/venv/local/lib/python3.6/site packages/django_elasticsearch_dsl/management/commands/search_index.py”,第84行,在创建
index.create()
文件“/opt/python/run/venv/local/lib/python3.6/site packages/elasticsearch_dsl/index.py”,第102行,在create中
self.connection.index.create(index=self.\u name,body=self.to\u dict(),**kwargs)
文件“/opt/python/run/venv/local/lib/python3.6/site-packages/elasticsearch/client/utils.py”,第69行,以
返回函数(*args,params=params,**kwargs)
文件“/opt/python/run/venv/local/lib/python3.6/site packages/elasticsearch/client/index.py”,第110行,在create中
参数=参数,主体=主体)
文件“/opt/python/run/venv/local/lib/python3.6/site packages/elasticsearch/transport.py”,执行请求中的第327行
状态、标题、数据=连接。执行_请求(方法、url、参数、正文、忽略=忽略、超时=超时)
文件“/opt/python/run/venv/local/lib/python3.6/site packages/elasticsearch/connection/http_urllib3.py”,执行请求中的第110行
self.\u raise\u错误(response.status,原始数据)
文件“/opt/python/run/venv/local/lib/python3.6/site packages/elasticsearch/connection/base.py”,第114行,出现错误
引发HTTP_异常。获取(状态代码,传输错误)(状态代码,错误消息,附加信息)
elasticsearch.exceptions.TransportError:
(ElasticBeanstalk::ExternalInvocationError)
根据,在命令中包含-f
参数,以强制接受提示。我已经尝试过了,但是当我这样做时,我得到了附加的错误that@HenryM您是否能够删除然后重新生成索引?如果是这样的话,这表明应用程序重建索引的方式有错误。我不知道elasticsearch,我只是在尝试设置它。当我使用本地elasticsearch在本地运行时,它会起作用,因此我认为问题在于我如何连接到AWS elasticsearch或如何设置AWSelasticsearch@HenryM我的意思是,如果在运行manage.py search\u index--delete-f
的失败命令之前添加另一个命令,会发生什么情况。我不知道run--delete,因为它是作为重建的一部分执行的。其他命令工作正常(例如manage.py migrate
)。它在尝试创建索引时崩溃