【发布时间】:2017-01-24 20:18:50
【问题描述】:
如果没有传入有效的搜索参数,我们的 Solr 被配置为返回所有结果。例如: http://localhost:8983/solr/collection1/select?rows=1&title=bar 是一个有效的搜索(标题是一个有效的字段),它返回正确数量的结果(许多结果中的 1 个)。但是...http://localhost:8983/solr/collection1/select?rows=1&foo=bar 从 整个 集合中返回一个(foo 不是有效字段)。
我读到有一种方法可以将 Solr 配置为默认返回 NO 结果(而不是全部)。它说“调整 requestHandler 配置以默认返回所有结果”(我认为这意味着有一种方法可以默认不返回任何结果)但我在网上找不到任何关于如何实际执行此操作的信息。
我们想要这样做的原因是因为我们正在实现一个我们不希望用户搜索的字段的黑名单,但是通过这样做,它允许所有其他字段通过并且我们希望那些返回 no结果(甚至更好 - 表明该字段无效的错误)。
Solr 是通过我们编写的 API 调用的,因此即使我们可以在每个调用中添加一个参数以使其默认不返回任何结果(noResultsIfNoValidSearch=true 或其他),也可以。
那么,关于如何将 Solr 配置为默认返回 NO 结果的任何想法?谢谢!
【问题讨论】: