我有一个包含相当大的文本字段的架构。
我已经对其进行了 gzip 压缩并启用了延迟加载,但它仍会被获取,除非每个使用 solr 的客户端都明确设置字段列表 (fl) 参数。
在没有字段列表参数的情况下进行查询时,如何配置 solr 以从结果中省略大的压缩文本字段?
我有一个包含相当大的文本字段的架构。
我已经对其进行了 gzip 压缩并启用了延迟加载,但它仍会被获取,除非每个使用 solr 的客户端都明确设置字段列表 (fl) 参数。
在没有字段列表参数的情况下进行查询时,如何配置 solr 以从结果中省略大的压缩文本字段?
最简单的方法是将字段列表添加到 requestHandler。假设您使用的是默认/select
请求处理程序,您需要修改 solrconfig.xml,将选项添加到requestHandlerfl
的默认值列表中。/select
请参阅下面的示例。
<requestHandler name="/select" class="solr.SearchHandler">
<!-- default values for query parameters can be specified, these
will be overridden by parameters in the request
-->
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int>
<str name="fl">field1,field2,field3</str>
</lst>
....
</requestHandler>
所以在这个例子中,我设置了fl
参数,所以查询将默认返回 field1、field2 和 field3。这些将是查询时返回的字段,除非请求指定了 fl 参数,然后将返回发送的任何字段。
这些默认值可以根据 requestHandler 设置,因此如果您使用不同的 requestHandler,则只需根据需要修改配置。
希望这可以帮助。