elasticsearch,Django,elasticsearch" /> elasticsearch,Django,elasticsearch" />

django elasticsearch dsl与AWS elasticsearch

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

我正在尝试使用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 --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
)。它在尝试创建索引时崩溃