无法获得突出显示的 Solr 响应
Posted
技术标签:
【中文标题】无法获得突出显示的 Solr 响应【英文标题】:Cannot get highlighted Solr response 【发布时间】:2012-11-02 17:45:36 【问题描述】:我正在使用 Solr 示例服务器进行调查。在将所有缓存的文档(主要是 html 文件)提供给它之后,除了突出显示部分之外,它工作正常。
我使用的请求网址如下,
http://localhost:8983/solr/collection1/select?q=keyword&wt=xml&hl=true
XML 响应如下,
<response>
<lst name="responseHeader">...</lst>
<result name="response" numFound="371" start="0">
<doc>
<arr name="links">
<str>rect</str>
<str>FJU_KDJFJJ_DJ_13</str>
</arr>
<str name="id">
F:\SkyDrive\funproj\cache\adfadf\asdff.htm
</str>
<arr name="title">
<str>asdff.htm</str>
</arr>
<arr name="content_type">
<str>text/html; charset=ISO-8859-1</str>
</arr>
<str name="resourcename">
F:\SkyDrive\funproj\cache\adfadf\asdff.htm
</str>
<arr name="content">
<str>...</str>
</arr>
<long name="_version_">1418589758873927680</long>
</doc>
<doc>...</doc>
</result>
<lst name="highlighting">
<lst name="F:\SkyDrive\funproj\cache\adfadf\asdff.htm"/>
<lst name="F:\SkyDrive\funproj\cache\cvzcv\c58053e10vq.htm"/>
<lst name="F:\SkyDrive\funproj\cache\hgdfhdfgh\c00302e10vq.htm"/>
<lst name="F:\SkyDrive\funproj\cache\asdfasdf\c00945e10vq.htm"/>
<lst name="F:\SkyDrive\funproj\cache\hjmyukt\asfdf06113002_03312010.htm"/>
<lst name="F:\SkyDrive\funproj\cache\nmvbmnm\saf0q033111.htm"/>
<lst name="F:\SkyDrive\funproj\cache\lkiullkl\a10-5974_110q.htm"/>
<lst name="F:\SkyDrive\funproj\cache\jhlhjkl\fdfinal.htm"/>
<lst name="F:\SkyDrive\funproj\cache\vcbxcbvcx\zynex10q33110_5132010.htm"/>
<lst name="F:\SkyDrive\funproj\cache\yuiuiou\v185403_10q.htm"/>
</lst>
</response>
响应,无论是 JSON 还是 XML,根本没有高亮部分。我已经在本地文件系统和示例服务器的管理页面中检查了 solrconfig.xml。突出显示是默认开启的,并且前/后设置为“”/“”。示例搜索门户本身可以正常工作,并在其结果中突出显示。但是由于不是AJAX,所以我无法通过chrome查看它的结果。
我做错了什么?
【问题讨论】:
【参考方案1】:您必须使用hl.fl
定义需要突出显示的字段。例如,如果您想在content
字段中搜索并突出显示匹配项,您可以使用以下查询:
http://localhost:8983/solr/collection1/select?q=content:keyword&wt=xml&hl=true&hl.q=content:keyword&hl.fl=content
默认情况下,突出显示响应仅返回一个 sn-p,即使您的字段有多个命中。另外,sn-p(fragsize) 的长度默认设置为 100 个字符。
您可以使用hl.snippets
和hl.fragsize
来修改它们。
例如修改fragsize:
http://localhost:8983/solr/collection1/select?q=content:keyword&wt=xml&hl=true&hl.q=content:keyword&hl.fl=content&hl.fragsize=5000
传递hl.fragsize=0
将使fragsize 不受限制。
为了改变sn-ps的数量:
http://localhost:8983/solr/collection1/select?q=content:keyword&wt=xml&hl=true&hl.q=content:keyword&hl.fl=content&hl.snippets=10
更多参数请参考solr wiki。
【讨论】:
感谢您提供的简单示例。正是我需要的。【参考方案2】:您需要添加需要启用突出显示的字段hl.fl。 参数的默认值为空白。
【讨论】:
以上是关于无法获得突出显示的 Solr 响应的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot Solr HighlightPage 不返回突出显示的信息