Solr突出显示

Shr*_*ath 3 search solr replace

我在这里看到这篇文章,他很好地解释了如何显示突出显示的结果,但对我来说这不会起作用......

我正在使用突出显示和所有内容,但是在没有突出显示的情况下,与原始响应相比,文本非常少...

如何在php中将突出显示的内容与原始结果集合并?

nik*_*500 7

尝试使用hl.fragsize来增加Solr返回的突出显示的片段的大小.

  • 从`fl`中删除该字段,使其不会返回两次.使用`hl.alternateField`确保在突出显示部分返回字段值,即使没有匹配的术语. (2认同)

Mar*_*cel 6

我建议使用非默认荧光笔来获得更好的效果.在solrconfig.xml中搜索RequestHandler:

<requestHandler name="/select" class="solr.SearchHandler">
Run Code Online (Sandbox Code Playgroud)

并添加以下内容:

<str name="hl.usePhraseHighlighter">false</str>
<str name="hl.useFastVectorHighlighter">true</str>
<str name="hl.boundaryScanner">breakIterator</str>
Run Code Online (Sandbox Code Playgroud)

现在转到荧光笔部分

<searchComponent class="solr.HighlightComponent" name="highlight">
Run Code Online (Sandbox Code Playgroud)

并搜索此行:

<boundaryScanner name="default" default="false" class="solr.highlight.SimpleBoundaryScanner">
Run Code Online (Sandbox Code Playgroud)

确保将其设置为"default = false".然后将上面定义的BoundaryScanner配置为默认值:

<boundaryScanner name="breakIterator" default="true" class="solr.highlight.BreakIteratorBoundaryScanner">
Run Code Online (Sandbox Code Playgroud)

对于此扫描仪,将类型更改为"SENTENCE":

<str name="hl.bs.type">SENTENCE</str>
Run Code Online (Sandbox Code Playgroud)

并设置您的语言和国家/地区设置.

这一变化给了我更好的高光效果!

Awww - 几乎忘了提及schema.xml中的更改.获取要突出显示的领域并添加以下选项:

termVectors="true" termPositions="true" termOffsets="true"
Run Code Online (Sandbox Code Playgroud)