在solr

时间:2016-01-20 14:10:38

标签: solr solr-highlight

我安装了solr jetty 5.1.3并使用tika索引了超过15000个文档。我已在SOLR中索引并存储了doc发布的日期和内容。我在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>

它返回了三个亮点,搜索文本是粗体。就像我搜索&#34; Lorem&#34;在查询字词中,它会向我返回一个类似

的高亮显示

Lorem ipsum dolor坐在2016年,奉献精华。 Sed volutpat metus lorem,inratrat nibh sodales in。Cras in mauris tempus,vulputate felis eu,tincidunt erat。

但是当我搜索过去1年到现在发布日期的文档时,它突出显示两个术语。例如,如果我搜索&#34; &#34;的Lorem&#34;和docPublishDate:[2015-01-20至2016-01-20]&#34;然后它会给我一个亮点:

Lorem ipsum dolor坐下来 2016 ,奉献精神。 Sed volutpat metus lorem,inratrat nibh sodales in。Cras in mauris tempus,vulputate felis eu,tincidunt erat。

我也不希望solr突出显示2016年的文字。我希望它只是大胆的Lorem。我该怎么做才能实现它?

1 个答案:

答案 0 :(得分:1)

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

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