我有一个设置了多个字段的 solr 搜索引擎,我希望能够搜索所有字段。
我可以这样做,.filter(content='string')
但这只会搜索document=True
编辑
另外,一些非document=True
字段应用了不同的过滤器/标记器,所以我猜想将它们添加到单个字段中是行不通的......
我有一个设置了多个字段的 solr 搜索引擎,我希望能够搜索所有字段。
我可以这样做,.filter(content='string')
但这只会搜索document=True
编辑
另外,一些非document=True
字段应用了不同的过滤器/标记器,所以我猜想将它们添加到单个字段中是行不通的......
也许您可以使用“use_template”和显示所有字段的模板创建第二个字段。
我从来没有尝试过这样做,但这对我来说听起来不错。
编辑自 OP 评论:
然后我最好的选择是使用子类 SearchQueryset 添加一个方法或创建一个函数,该函数将循环和 SearchIndex 中的所有字段并执行以下操作:
qs = SearchQuerySet().filter(content=query)
for field in fieldlist:
qs = qs.filter_or(**{'field':query})
我不知道这是否有效,但值得一试。
@neolaser:我认为使用 DisMax 搜索可以实现您想要的。它允许搜索多个字段并为每个字段指定提升值。更多细节: