问题标签 [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.
django - 干草堆索引并非所有项目
我正在使用带有whoosh的django haystack进行全文搜索。有九种不同的模型要索引,但是当我搜索索引条目时,似乎没有或不是所有模型都为某些模型编入索引。
我在 django shell 上尝试了这个,但是当所有九个模型都被索引时,我得到一些模型的 0,而如果我只索引一些模型,我得到所有这些模型。
例如,我有正确索引的 Article 模型,如果我仅为 Article 重建索引,则找到所有 1029 个项目。但是,当我为所有 9 个可搜索模型重建索引时,我得到了 0 个文章项目的结果。
我正在使用的软件版本:
- 蟒蛇2.6
- django 1.3
- 干草堆 1.1
- 嗖嗖 1.8
whoosh 对索引模型或找到的项目的数量是否有任何限制?什么会导致这种奇怪的行为?你有过类似的经历吗?你是怎么解决的?
django - Haystack 不返回 Solr 管理控制台突出显示的结果
我最近设置了 solr 和 haystack 来搜索我的一个 django 模型。我试图修改 haystack 构建的默认 solr 模式以使用NGramTokenizerFactory
:
我的数据库中有一堆一两个单词条目,我想与用户的查询进行匹配。例如,我可能有一个标题为“狗”的对象和另一个标题为“猫”的对象。如果用户搜索“dog cat”,那么我想为该查询返回 dog 和 cat 对象。
同样,如果我搜索“我的酷网站”,我希望返回带有“网站”的字段。
我尝试使用 solr 管理界面来检查以确保我的查询得到匹配。那里一切似乎都还好:
: 问题是当我使用 haystack 默认搜索界面搜索相同的查询时:
如您所见,没有找到任何结果。我尝试使用 KeywordFactory 和一堆不同的 solr 配置。如果我没记错的话,查询应该是匹配的。我不确定为什么干草堆会空着。
感谢您提供有关这是否是进行此类搜索的最佳方式的任何帮助/建议。
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
:它没有管理属性。
这一定是我想念的超级简单的东西。谢谢您阅读此篇!
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 条目,我试图了解如何最好地索引这个模型。作为数据库索引和搜索的新手,我正在寻找有关如何最好地优化我的数据库的任何见解。
django - 如何在上下文处理器(Django 1.3)中使用包含 ChoiceField 的 HayStack 表单?
我有一个非常简单的 Haystack 表单,看起来像这样:
然后我有一个像这样的上下文处理器:
出于某种原因,创建一个新的类别对象(通过 Django 管理员并保存它)不会更新我在表单的 ChoiceField 中使用的类别元组,直到我重新启动 Apache。
有谁知道这可能是什么原因造成的?
提前致谢!
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 总是返回一个空列表。
怎么了?
谢谢
django - Django 搜索站点的静态部分
我打算使用 Django-Haystack 将搜索组件添加到我的网站。这将处理我在 models.py 中的数据。然而,我也希望不在模型中但作为模板的一部分的数据是可搜索的。我怎么能得到这个。
django - 将登录用户传递给 haystack 搜索
我想根据当前登录用户的帐户类型显示我的搜索结果。是否可以将用户从请求传递到 url 中的对象?如果没有,我还能如何通过它?
更具体。在 haystack urls.py 我们有
我可以以某种方式将 SearchView 对象传递给当前登录的用户吗?
django - Radius 使用 django-haystack 和 Spatial Solr 插件搜索多个位置
我有一个 Person 模型,它现在可以有许多办公室“位置”,每个都有自己的纬度/经度。
在一个人只能添加 1 个办公室之前,所以我一直在使用我为 django-haystack 制作的叉子,它使用 JTeam 的 spatial-solr-plugin 进行半径搜索。见https://github.com/sidmitra/django-haystack
由于办公室的数量是无限的,我不能在索引中使用单独的 lat/lng 字段。
我能想到的一种方法是索引“位置”模型。每个位置将是索引中的一个单独条目。因此解决了这个问题,但这意味着将所有字段从 Person 索引复制到此位置索引。虽然这在短期内可能是一个不错的解决方案,但从长远来看可能会不整洁?
想知道是否有办法单独索引位置,然后根据指定半径内的地址过滤相关人员?
django - 干草堆中的过滤不起作用
我有一个模型,其字段状态定义为:
现在我使用 haystack 和简单的引擎集。我的搜索索引如下:
问题是,当我尝试使用过滤条目时,
entries.filter(status=ENTRY_DRAFT)
我收到的所有对象不仅与过滤匹配。Entries 是传递给其他函数的 SearchQuerySet。怎么了?