0

我安装了 solr jetty 5.1.3,并使用 tika 索引了超过 15000 个文档。我已经在 SOLR 中索引并存储了文档发布日期和内容。我在 solrConfig.xml 中启用了突出显示,这是突出显示术语的请求处理程序的 xml

<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="hl">on</str>
       <str name="hl.fl">content</str>
       <str name="hl.simple.pre">&lt;b&gt;</str>
       <str name="hl.simple.post">&lt;/b&gt;</str>
       <str name="f.content.hl.snippets">3</str>
       <str name="f.content.hl.fragsize">200</str>
       <str name="f.content.hl.maxAnalyzedChars">200000</str>
       <str name="f.content.hl.alternateField">content</str>
       <str name="f.content.hl.maxAlternateFieldLength">750</str>
     </lst>

    </requestHandler>

  <!-- A request handler that returns indented JSON by default -->
  <requestHandler name="/query" class="solr.SearchHandler">
     <lst name="defaults">
       <str name="echoParams">explicit</str>
       <str name="wt">json</str>
       <str name="indent">true</str>
       <str name="df">content</str>
       <str name="hl">on</str>
       <str name="hl.fl">content</str>
       <str name="hl.simple.pre">&lt;b&gt;</str>
       <str name="hl.simple.post">&lt;/b&gt;</str>
       <str name="f.content.hl.snippets">3</str>
       <str name="f.content.hl.fragsize">200</str>
       <str name="f.content.hl.maxAnalyzedChars">200000</str>
       <str name="f.content.hl.alternateField">content</str>
       <str name="f.content.hl.maxAlternateFieldLength">750</str>
     </lst>
  </requestHandler>

它最多返回三个亮点,搜索文本为粗体。就像我在查询词中搜索“Lorem”一样,它会向我返回一个类似的亮点

Lorem ipsum dolor sit amet 2016, consectetur adipiscing elit。sed volutpat metus lorem,一个placerat nibh sodales in。在mauris tempus,vulputate felis eu,tincidunt erat 中的Cras。

但是当我搜索发布日期在过去 1 年到现在之间的文档时,它突出显示了两个术语。例如,如果我搜索““Lorem”和 docPublishDate:[2015-01-20 TO 2016-01-20]”,那么它会向我返回类似这样的亮点:

Lorem ipsum dolor sit amet 2016 , consectetur adipiscing elit。sed volutpat metus lorem,一个placerat nibh sodales in。在mauris tempus,vulputate felis eu,tincidunt erat 中的Cras。

我也不想要那个 solr highlight 2016 文本。我希望它只加粗 Lorem。我应该怎么做才能实现它?

4

1 回答 1

1

使用过滤器查询来限制要返回的文档集 - 作为fq参数给出的过滤器不用于突出显示。

您还可以使用该hl.q参数来使用特定查询进行突出显示,因此您也可以将查询提交给没有日期部分的荧光笔 - 但这种情况似乎更适合使用过滤器查询。

于 2016-01-20T14:13:52.267 回答