【问题标题】:advanced search with solr and haystack?使用 solr 和 haystack 进行高级搜索?
【发布时间】:2012-08-15 13:02:11
【问题描述】:

假设您有一个查询:

(apples OR oranges) AND fresh location:cityGoesHere

默认情况下 haystack 使用 auto_query 数据被自动转义 因此搜索将被记录为:

INFO: [collection1] webapp=/solr path=/select/ params={spellcheck=true&facet=on&fl=*+score&start=0&q=(\(apples+or+oranges\)+and+fresh+location\:cityGoesHere)&spellcheck.count=1&...

当然,Solr 会将 "("、")" 和 ":" 字符视为文字,因此不会进行分组,整个文本将根据默认字段进行搜索,而位置字段将被忽略

除了解析查询并将其中的不同部分分配给 AutoQuery、Raw、Exact 输入类型(如果认为合适,然后将 SearchQuerySet 链接在一起)之外,是否有任何方法可以通过 haystack 实现高级 solr 搜索?

【问题讨论】:

    标签: python solr django-haystack


    【解决方案1】:

    我最终创建了自己的输入,主要使用 Raw haystack 输入。

    唯一的缺点是此输入使用 Solr 特定的语法,因此不能与其他搜索后端一起使用。


    后期编辑:

    AltParser 也可以与 Extended Dismax 解析器结合使用。像黄油一样工作!

    【讨论】:

    • 您能否举个例子说明您是如何使用 AltParser 进行示例查询的?
    • 我也很想看看这样的例子。
    猜你喜欢
    • 2013-08-12
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 2021-06-09
    • 2012-06-10
    相关资源
    最近更新 更多