我有一个 SOLR 查询,它应该获取我存储的所有字段(除了一个字段)。
说我有20字段,我需要硬编码吗19我想要获取的字段
&fl=[f],[f],[f],....[f]'
或者有没有办法做类似的事情
&fl=*,![f]'
[f]
代表字段名称。
不幸的是,通过查询字符串删除字段名称的能力仍然是一个突出的改进请求。请参见SOLR-3191 https://issues.apache.org/jira/browse/SOLR-3191更多细节。
在实施此改进之前,您将需要指定中的所有 19 个字段fl
范围。但是,您可以更新默认值/select
requestHandler 定义您想要返回的 19 个字段作为默认设置,该设置将应用于所有查询,除非它在查询字符串中被覆盖。
这是默认的修改版本/select
示例 solrconfig.xml 中的 requestHandler:
<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="df">text</str>
<!-- Only showing 3 fields for this example -->
<str name="fl">field1,field2,field3</str>
</lst>
</requestHandler>
有关这些默认设置和 requestHandler 配置的更多详细信息,请参阅SolrConfig 中的 RequestHandler 和 SearchComponent http://docs.lucidworks.com/display/solr/RequestHandlers+and+SearchComponents+in+SolrConfig.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)