【发布时间】:2025-12-30 04:40:12
【问题描述】:
我一直试图让 Elasticsearch 在 Django 应用程序中工作。这是一个问题,因为这显然涉及到混乱的兼容性考虑。我遵循了建议,但在实际执行搜索时仍然出现错误。
这就是我所拥有的
Django==2.1.7
Django-Haystack==2.5.1
Elasticsearch(django)==1.7.0
Elasticsearch(Linux app)==5.0.1
还有DjangoCMS==3.7 和aldryn-search=1.0.1,但我不确定它们的相关性如何。
这是我通过基本文本表单提交搜索查询时遇到的错误。
GET /videos/modelresult/_search?_source=true [status:400 request:0.001s]
Failed to query Elasticsearch using '(video)': TransportError(400, 'parsing_exception')
Traceback (most recent call last):
File "/home/user-name/miniconda3/envs/project-web/lib/python3.7/site-packages/haystack/backends/elasticsearch_backend.py", line 524, in search
_source=True)
File "/home/user-name/miniconda3/envs/project-web/lib/python3.7/site-packages/elasticsearch/client/utils.py", line 69, in _wrapped
return func(*args, params=params, **kwargs)
File "/home/user-name/miniconda3/envs/project-web/lib/python3.7/site-packages/elasticsearch/client/__init__.py", line 527, in search
doc_type, '_search'), params=params, body=body)
File "/home/user-name/miniconda3/envs/project-web/lib/python3.7/site-packages/elasticsearch/transport.py", line 307, in perform_request
status, headers, data = connection.perform_request(method, url, params, body, ignore=ignore, timeout=timeout)
File "/home/user-name/miniconda3/envs/project-web/lib/python3.7/site-packages/elasticsearch/connection/http_urllib3.py", line 93, in perform_request
self._raise_error(response.status, raw_data)
File "/home/user-name/miniconda3/envs/project-web/lib/python3.7/site-packages/elasticsearch/connection/base.py", line 105, in _raise_error
raise HTTP_EXCEPTIONS.get(status_code, TransportError)(status_code, error_message, additional_info)
elasticsearch.exceptions.RequestError: TransportError(400, 'parsing_exception')
谁能告诉我这是兼容性问题还是有其他问题?我该如何解决?
【问题讨论】:
-
请添加您遇到此错误的查询。
-
很难知道。我没有写任何查询。我的理解是上面列出的应用是在后端完成的。
标签: django elasticsearch django-cms