2017-08-01 39 views

回答

1

是搜索,可以add these to the requestHandler definition

<lst name="defaults"> 
    <str name="fq">age:[18 TO *]</str> 
</lst> 

(或者如果你确实意味着大于18而不是18或更大,则可以使用{18 TO *][19 TO *])。

也可以使用appendsinvariants而不是默认值将过滤器查询添加到所有查询或将参数设置为URL参数无法覆盖的静态值。

+0

问题是我可能会定义其他'fq'条目,但没有'age'的过滤器。在这种情况下,使用'age'过滤器的'fq'默认值必须生效,因为它被其他过滤器覆盖。 – Mihai238

+1

如果您需要更高级的逻辑,那么我认为您将不得不在中间件中执行此操作,因为无法读取和分析参数以知道它只是通过配置中Solr中的单个字段进行过滤。你可以扩展requestHandler并编写你自己的java代码.. – MatsLindh

+1

你绝对是对的。我通过使用两个不同的请求处理程序来结束一个更简单的解决方案:一个使用appender,另一个不使用。感谢您的帮助! – Mihai238

相关问题