已安装elasticsearch
。我尝试查找记录,但是当我尝试进行迭代时,出现错误elasticsearch.exceptions.NotFoundError: NotFoundError (404,'index_not_found_exception','no such index',cars,index_or_alias)
尽管这样的记录在数据库中。可能是什么原因。我在端口8001
上启动了项目。
def search(request):
json_data = json.loads(request.body)
title = json_data['title'] if 'title' in json_data else ''
note_text = json_data['note_text'] if 'note_text' in json_data else ''
publication_type = json_data['publication_type'] if 'publication_type' in json_data else ''
mesh_terms = json_data['mesh_terms'] if 'mesh_terms' in json_data else ''
conditions = json_data['conditions'] if 'conditions' in json_data else ''
comments = json_data['comments'] if 'comments' in json_data else ''
more = json_data['more']
posts = ArticleDocument.search()
if title and title != '':
posts = posts.query("match",title=title.lower())
if note_text and note_text != '' :
posts = posts.query("match",note_text=note_text.lower())
if comments and comments != '':
posts = posts.query("match",comments=comments)
if publication_type and publication_type != '':
posts = posts.query("match",publication_type=publication_type.lower())
if mesh_terms and mesh_terms != '':
posts = posts.query("match",mesh_terms=mesh_terms)
if conditions and conditions !='':
posts = posts.query("match",conditions=conditions)
posts = posts.extra(from_=0,size=more)
resdata = []
for hit in posts:
resdata.append({"title":hit.title,"id":hit.index})
return JsonResponse({'code':1,'data':resdata,'msg':"Success"})
ArticleDocument
@registry.register_document
class ArticleDocument(Document):
class Index:
# Name of the Elasticsearch index
name = 'cars'
# See Elasticsearch Indices API reference for available settings
settings = {'number_of_shards': 1,'number_of_replicas': 0}
class Django:
model = Article # The model associated with this Document
# The fields of the model you want to be indexed in Elasticsearch
fields = [
'title','index','url','note_text1','date','note_text','full_text_link','publication_type','mesh_terms','conditions','comments','note_html',]