问题标签 [drf-haystack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
703 浏览

python - RequestError: TransportError(400, u'parsing_exception') django haystack

我正在尝试将 django-haystack 与 djangorestframework 和 elasticsearch 一起使用,并按照此处的教程进行操作

我在我的虚拟环境中安装了以下软件包

干草堆设置

但是,每当我尝试重建索引时,python manage.py rebuild_inex或者每当我尝试使用 API 检索结果时http://localhost:8000/api/v1/location/search/?city=Hyderabad,我都会收到以下错误,我已经在 Google 上搜索了很多关于此的信息,但无法获得任何帮助

我读过一些上面的错误是因为elasticsearch版本超过2.0.0,但我已经安装了1.5.0,但我仍然面临上述错误。

谁能让我知道如何解决这个问题?

0 投票
1 回答
363 浏览

django - 如何使用多个 HAYSTACK_CONNECTIONS 并使用 drf-haystack 管理命令在所有索引中获取结果?

在rebuild_index manage 命令期间,我一次只能使用一个连接。我同时需要这两个结果。

0 投票
0 回答
260 浏览

python - 搜索 api 使用 drf haystack 返回空列表进行弹性搜索

我有以下型号,

和搜索索引,

和视图集,

和网址配置,

和 settings.py (干草堆配置)

我通过django shell保存数据,并检查数据是否成功保存在ProductKeyword模型中。

尝试使用以下搜索 api 获取结果,

但它返回一个具有 200 状态的空列表。

我是弹性搜索的新手,所以不确定是什么导致上面的 api 返回一个空列表,可能有一种可能性是我试图搜索的对象没有在弹性搜索中被索引,所以我应用了以下管理命令弹性搜索建立索引,

但仍然返回一个空列表的 api

然后我尝试了以下,

仍然返回一个空列表

接着

还没有工作,返回一个空列表

那么我在这里缺少什么?我遵循了以下 drf-haystack 文档,

drf haystack 文档

提到,我正在使用

0 投票
1 回答
316 浏览

django - Django:Haystack 和 Elasticsearch 与 Mongoengine

我正在尝试将 Haystack Elasticsearch 与使用 MongoDB 作为数据库的 django REST 应用程序集成。这是我的源代码:

模型.py

search_indexes.py

序列化程序.py

视图.py

网址.py

设置.py

当我点击搜索 URL 时,我得到以下异常:AttributeError('添加到查询的模型必须派生自 Model。')。出了什么问题?

0 投票
0 回答
36 浏览

django - 更改 elasticsearch 默认 min_term_freq 和 min_doc_freq

我在 django 中使用这个技术/包来处理搜索页面

  • elasticseach 2(作为搜索数据库)
  • elasticseach-py
  • django-haystack(作为带有 elasticseach 后端引擎的搜索工具)
  • drf-haystack(用于在 django-rest-framework 中使用 django-haystack)

在哪里可以更改min_term_freqmin_doc_freq默认值

因为我的More Like This搜索不起作用

欢迎任何其他建议

0 投票
0 回答
45 浏览

python - 我如何将 Django - Tenant 与 Django Haystack 集成

我目前正在使用 Django-tenant 包,它提供基于不同模式的多租户,我还在后端使用 django-haystack 和 ElasticSearch 进行搜索,

我需要一些帮助来确定如何使用 ElasticSearch 为不同模式的记录建立索引,我应该遵循什么方法,甚至可以使用 django-haystack。

0 投票
1 回答
24 浏览

django - 基于请求的序列化器字段值

在 Haystack 中,我有以下视图集:

这是序列化程序:

对于每个返回的搜索结果,我想添加一个布尔字段,指示相应的艺术家是否已被当前用户加注星标。

你会怎么做?

0 投票
0 回答
16 浏览

python - 寻找 drf haystack 查询参数以使用 q 参数命中 solr

我正在尝试使用 drf-haystack 制作用于查询 solr 的 API。

这是我正在使用的课程

我所需要的就是能够像这样查询:

查询 http://127.0.0.1:8000/api/mymodel/search/?q=physician&city=portland。这样这会以参数 q = 医生 fq = city:portland 命中 solr。

q = 医生 fq = 城市:波特兰的预期响应 响应。

收到的响应: fq=city:portland 的结果。

注意text请注意,如果该字段的响应将忽略 solr 中的排名方程 ,我不想查询该字段。

我错过了什么或做错了什么?

-谢谢

0 投票
0 回答
35 浏览

django-rest-framework - django-haystack 打算如何使用?

我们的团队一直致力于将 drf-haystack 和 django-haystack 与 Solr 集成。它似乎很容易设置,并且可以完美地处理非常小的(<100 个对象)数据集。

一旦我们开始使用更多对象,性能就会下降。对少于 10k 个对象执行单次搜索需要 2 分钟以上。

经过调查,我意识到这至少部分是因为它正在进行数据库查询。然后我阅读了这个文档,现在我完全糊涂了。

干草堆的全部目的不是简化与 django 应用程序和搜索引擎的集成吗?为什么默认行为是进行数据库查询?(无论如何,仅使用基本的 Django 内置插件会更直接吗?)

似乎应该有一种方法可以避免访问数据库,但是尽管遵循了 Haystack 的文档,我们还没有弄清楚。在这一点上,我们放弃使用 haystack 来搜索和编写我们自己的自定义 solr 查询,以便从我们的 DRF 视图集中调用,而不是从 HaystackViewSet 继承。我们已经证明这完全解决了性能问题。

我想我在这里遗漏了一些明显的东西。谁能提供一些关于 haystack 的设计和预期目的的见解?