问题标签 [django-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 回答
612 浏览

django - 干草堆索引并非所有项目

我正在使用带有whoosh的django haystack进行全文搜索。有九种不同的模型要索引,但是当我搜索索引条目时,似乎没有或不是所有模型都为某些模型编入索引。

我在 django shell 上尝试了这个,但是当所有九个模型都被索引时,我得到一些模型的 0,而如果我只索引一些模型,我得到所有这些模型。

例如,我有正确索引的 Article 模型,如果我仅为 Article 重建索引,则找到所有 1029 个项目。但是,当我为所有 9 个可搜索模型重建索引时,我得到了 0 个文章项目的结果。

我正在使用的软件版本:

  • 蟒蛇2.6
  • django 1.3
  • 干草堆 1.1
  • 嗖嗖 1.8

whoosh 对索引模型或找到的项目的数量是否有任何限制?什么会导致这种奇怪的行为?你有过类似的经历吗?你是怎么解决的?

0 投票
1 回答
1126 浏览

django - Haystack 不返回 Solr 管理控制台突出显示的结果

我最近设置了 solr 和 haystack 来搜索我的一个 django 模型。我试图修改 haystack 构建的默认 solr 模式以使用NGramTokenizerFactory

我的数据库中有一堆一两个单词条目,我想与用户的查询进行匹配。例如,我可能有一个标题为“狗”的对象和另一个标题为“猫”的对象。如果用户搜索“dog cat”,那么我想为该查询返回 dog 和 cat 对象。

同样,如果我搜索“我的酷网站”,我希望返回带有“网站”的字段。

我尝试使用 solr 管理界面来检查以确保我的查询得到匹配。那里一切似乎都还好: 在此处输入图像描述: 问题是当我使用 haystack 默认搜索界面搜索相同的查询时: 在此处输入图像描述

如您所见,没有找到任何结果。我尝试使用 KeywordFactory 和一堆不同的 solr 配置。如果我没记错的话,查询应该是匹配的。我不确定为什么干草堆会空着。

感谢您提供有关这是否是进行此类搜索的最佳方式的任何帮助/建议。

0 投票
7 回答
4671 浏览

python - 安装 django-haystack

超级简单的问题:我浏览了 haystack 的“入门”文档(使用 whoosh;我使用 pip 安装了 python-whoosh 和 haystack(第一次使用它)),我根本无法运行 python manage.py rebuild_index。我收到此错误:

我在 settings.py 的 INSTALLED_APPS 中确实列出了“干草堆”,所以这个解决方案似乎对我不起作用。当我运行“import haystack”时,我也没有收到导入错误,所以它确实存在。我在我现有的项目以及为此而制作的全新对象上尝试了这个,但我无法让它工作。

但是,当我导入 haystack 后python manage.py shell尝试haystack.__version__我得到“AttributeError:'module'对象没有属性'版本'”。如果我尝试,我会收到类似的错误haystack.management:它没有管理属性。

这一定是我想念的超级简单的东西。谢谢您阅读此篇!

0 投票
1 回答
736 浏览

django - django-haystack:在索引数据库上选择一个大的 SearchIndex

我有一个包含 35 个字段(Char、Int、Bool、Dec、M2M、FK)的 UserProfile 模型。作为搜索视图功能的一部分,其中一个字段需要全文搜索,而其余 34 个字段将用于提供“高级搜索过滤”(使用:__gte、__lte、__exact、__in、__startswith)。“搜索”查询可以使用 5-35 个字段作为搜索视图标准。

我正在使用 haystack 构建 SearchIndex,目前已添加所有 35 个字段,但这似乎无效,因为我绕过了 django ORM(?)。

来自过滤 Django Haystack 结果的答案,如 QuerySet?建议我可以只将单个全文搜索字段存储在 SearchIndex 中,并将 SearchQuerySet 与 django 的 QuerySet 组合用于剩余的 34 个过滤器字段。然后我会在我的 django 模型中的部分或全部这些字段上使用 db_index=True 吗?使用这种 2 阶段查询合并方法是否可以很好地扩展到数千个结果?

由于我的 UserProfile 模型可能增长到 300K-2M 条目,我试图了解如何最好地索引这个模型。作为数据库索引和搜索的新手,我正在寻找有关如何最好地优化我的数据库的任何见解。

0 投票
1 回答
738 浏览

django - 如何在上下文处理器(Django 1.3)中使用包含 ChoiceField 的 HayStack 表单?

我有一个非常简单的 Haystack 表单,看起来像这样:

然后我有一个像这样的上下文处理器:

出于某种原因,创建一个新的类别对象(通过 Django 管理员并保存它)不会更新我在表单的 ChoiceField 中使用的类别元组,直到我重新启动 Apache。

有谁知道这可能是什么原因造成的?

提前致谢!

0 投票
0 回答
353 浏览

django - Haystack/Whoosh SearchQuerySet 的 order_by 问题

我定义了一个索引,如下所示,对 doc中指定的 order_key 整数字段进行零填充。

当我运行 python manage.py rebuild_index 时,我可以正确地 order_by 我的 SearchQuerySet,但是一旦我运行 python manage.py update_index,带有 order_by 的 SearchQuerySet 总是返回一个空列表。

怎么了?

谢谢

0 投票
1 回答
163 浏览

django - Django 搜索站点的静态部分

我打算使用 Django-Haystack 将搜索组件添加到我的网站。这将处理我在 models.py 中的数据。然而,我也希望不在模型中但作为模板的一部分的数据是可搜索的。我怎么能得到这个。

0 投票
1 回答
160 浏览

django - 将登录用户传递给 haystack 搜索

我想根据当前登录用户的帐户类型显示我的搜索结果。是否可以将用户从请求传递到 url 中的对象?如果没有,我还能如何通过它?

更具体。在 haystack urls.py 我们有

我可以以某种方式将 SearchView 对象传递给当前登录的用户吗?

0 投票
0 回答
513 浏览

django - Radius 使用 django-haystack 和 Spatial Solr 插件搜索多个位置

我有一个 Person 模型,它现在可以有许多办公室“位置”,每个都有自己的纬度/经度。

在一个人只能添加 1 个办公室之前,所以我一直在使用我为 django-haystack 制作的叉子,它使用 JTeam 的 spatial-solr-plugin 进行半径搜索。见https://github.com/sidmitra/django-haystack

由于办公室的数量是无限的,我不能在索引中使用单独的 lat/lng 字段。

我能想到的一种方法是索引“位置”模型。每个位置将是索引中的一个单独条目。因此解决了这个问题,但这意味着将所有字段从 Person 索引复制到此位置索引。虽然这在短期内可能是一个不错的解决方案,但从长远来看可能会不整洁?

想知道是否有办法单独索引位置,然后根据指定半径内的地址过滤相关人员?

0 投票
1 回答
547 浏览

django - 干草堆中的过滤不起作用

我有一个模型,其字段状态定义为:

现在我使用 haystack 和简单的引擎集。我的搜索索引如下:

问题是,当我尝试使用过滤条目时, entries.filter(status=ENTRY_DRAFT) 我收到的所有对象不仅与过滤匹配。Entries 是传递给其他函数的 SearchQuerySet。怎么了?