如果在qt defination中为true,如何通过查询在外部禁用solr中的facet

时间:2017-04-17 06:02:49

标签: apache solr

我想禁用查询的方面。 我有一个qt作为测试人员facet = true和facet.field = city 我正在使用像 本地主机:8983 / solr的/ MYWORK /选择Q = &安培; QT =测试? 我想通过查询伪造facet字段而不是改变qt。我怎么能这样做。

3 个答案:

答案 0 :(得分:0)

qt用于选择请求处理程序。如果未指定'qt',则选择默认处理程序,通常为/select

所有处理程序都在solrconfig.xml文件中定义。打开该文件并搜索名称为tester的请求处理程序,查看它是如何为分面定义的,您可以修改构面默认值。

如果你看到这样的行 <str name="facet">on</str>删除与facet相关的内容。

重新启动solr并重试。

答案 1 :(得分:0)

正确的设置是“开”或“关”(不是真或假)。

如果要禁用特定RequestHandler的所有功能,这就是我的实现方式:

  <requestHandler name="/Spellcheck" class="org.apache.solr.handler.component.SearchHandler">
<lst name="defaults">
  <str name="df">NOSEARCH</str>
  <str name="spellcheck.dictionary">default</str>
  <str name="spellcheck">on</str>
</lst>
<lst name="invariants">
    <str name="rows">0</str>
    <str name="facet">off</str>
</lst>
<arr name="last-components">
  <str>spellcheck</str>
</arr>

与防止用户使用处理程序相关的部分是“不变式”部分。这将覆盖命令中传递的任何设置。

答案 2 :(得分:-1)

您可以通过 facet 参数 true false

  • facet = true
  

localhost:8983/solr/mywork/select?q=:&qt=tester&facet=true&facet.field=city

  • facet = false
  

localhost:8983/solr/mywork/select?q=:&qt=tester&facet=false