2016-01-20 64 views
0

我solr码头5.1.3使用tika安装和索引超过15000个文档。我已经索引并存储了SOL发布日期和内容。我在solrconfig.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> 

的XML它返回我到三大亮点和搜索文本是大胆的。如果我在查询字词中搜索“Lorem”,那么它会向我返回一个亮点。

Lorem ipsum dolor sit amet 2016,consectetur adipiscing elit。 sed volutpat metus lorem,一个独立的sodales in。cras in mauris tempus,vulputate felis eu,tincidunt erat。

但是,当我搜索最近1年和现在之间发布日期的文档时,它突出显示了两个术语。例如,如果我搜索“‘排版’和docPublishDate:[2015年1月20日于2016年1月20日]”然后,它返回一个亮点,我这样的事情:

的Lorem存有悲坐阿梅德,consectetur adipiscing elit。 sed volutpat metus lorem,一个独立的sodales in。cras in mauris tempus,vulputate felis eu,tincidunt erat。

我不希望那个solr突出2016年的文字也。我希望它只是大胆的洛伦。我该怎么做才能做到呢?

回答

1

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

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

+0

thanks #MatsLindh。它工作并解决了我的问题。 –