【问题标题】:Search within results using haystack (django) on solr在 solr 上使用 haystack (django) 在结果中搜索
【发布时间】:2011-03-31 19:13:15
【问题描述】:

我正在尝试在我网站上的先前搜索中进行搜索。

它就像“天空”,然后在获得结果后,我会点击“在结果中搜索”的单选按钮。然后我会输入“蓝色”(假设搜索栏现在是空的)。因此,我会搜索“天蓝色”。

我一直在寻找解决这个问题的方法,但似乎没有在这个明确性中发布任何内容。

我正在将表单传递给自定义表单,但我无法访问单选框。我想只保存原始查询,然后如果我选择在其中搜索,我会做一个追加。

有什么想法吗?

谢谢。

【问题讨论】:

    标签: django solr django-haystack


    【解决方案1】:

    您的意思是使用复选框吗?假设您在表单请求后清除搜索字段。我不确定您使用了多少 django 表单,但在基本级别上,在初始搜索之后,您可以将视图中的值推送到模板中自己的变量中:

    initial_keyword = 'sky'  # default to empty if none entered
    

    在模板中,在您的 html 表单标签中插入以下内容:

    <input type="hidden" name="initial_keyword" value="{{ initial_keyword }}" />
    

    检查request.GET 的值,您应该会看到initial_keyword,也许还有您的复选框。从那里,如果选中复选框,则结合 initial_keyword 和新输入的值。

    【讨论】:

    • 是的,有效。我在我的 SearchForm 课程中陷入了困境。但是,进入兔子洞并创建另一个变量效果很好!谢谢。
    • 最后,因为我使用的是 haystack w/SOLR,所以涉及更多一点。但是,您的想法是正确的。我通过创建该变量来解决它,但是没有必要隐藏它。就清理而言,这是一些简单的 JavaScript(我必须为这个问题学习!)。不过,感谢您的回复!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多