thu*_*aaa 2 django elasticsearch
我尝试在 django 项目中迭代 elasticsearch。但是当我执行命令时python manage.py search_index --rebuild
出现了这个错误
elasticsearch.exceptions.ConnectionError: ConnectionError(<urllib3.connection.HTTPConnection object at 0x7fde186b2b50>: Failed to establish a new connection: [Errno 111] Connection refused) caused by: NewConnectionError(<urllib3.connection.HTTPConnection object at 0x7fde186b2b50>: Failed to establish a new connection: [Errno 111] Connection refused)
运行docker-compose后,我可以通过chrome访问elasticsearch http://localhost:9200。
这是setting.py
文件:
INSTALLED_APPS = [
'polls.apps.PollsConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django_elasticsearch_dsl',
]
ELASTICSEARCH_DSL={
'default': {
'hosts': 'localhost:9200'
},
}
Run Code Online (Sandbox Code Playgroud)
和 document.py 文件:
from django_elasticsearch_dsl import Document
from django_elasticsearch_dsl.registries import registry
from .models import Question
@registry.register_document
class QuestionDocument(Document):
class Index:
#name of elasticsearch index
name = 'questions'
setting = { 'number_of_shard' : 1,
'number_of_replicas' : 0}
class Django:
model = Question
fields = [
'question_text',
'pub_date',
]
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
n = int(input("N = "))
a = int(input("A = "))
b = int(input("B = "))
sum = 0
c = a*b
if n > a:
min_a=0
max_a=0
total=0
for i in range (1, n+1):
if i%a == 0:
min_a = i
break
for i in range (n, 1, -1):
if i%a == 0:
max_a = i
break
total = (max_a - min_a)/a + 1
sum += (max_a+min_a)*total/2
if n > b:
min_b=0
max_b=0
total=0
for i in range (1, n+1):
if i%b == 0:
min_b = i
break
for i in range (n, 1, -1):
if i%b == 0:
max_b = i
break
total = (max_b - min_b)/b + 1
sum += (max_b+min_b)*total/2
if n > c:
min_c=0
max_c=0
total=0
for i in range (1, n+1):
if i%c == 0:
min_c = i
break
for i in range (n, 1, -1):
if i%c == 0:
max_c = i
break
total = (max_c - min_c)/c + 1
sum -= (max_c+min_c)*total/2
print("Ket qua = {}".format(int(sum)))
Run Code Online (Sandbox Code Playgroud)
我的项目中也出现了同样的错误。在 settings.py 中,您需要将主机从“localhost:9200”更改为 docker-compose 中的服务名称。例子:
ELASTICSEARCH_DSL={
'default': {
'hosts': 'elasticsearch'
},
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3342 次 |
最近记录: |