Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要从solr高亮显示中多次出现,而不仅仅是第一次出现_Solr_Highlighting - Fatal编程技术网

需要从solr高亮显示中多次出现,而不仅仅是第一次出现

需要从solr高亮显示中多次出现,而不仅仅是第一次出现,solr,highlighting,Solr,Highlighting,我看过关于solr突出显示的文档,发现我需要更改snippet的默认值。我已经给出了20的值,并从schema.xml生成了maxAnalyzedChars 99999。即使这样,我也只得到了第一次机会 我还在solrconfig.xml中添加了一些内容 <requentestHandler name="/search" class="solr.SearchHandler"> <lst name="defaults"> <str name="defType"

我看过关于solr突出显示的文档,发现我需要更改snippet的默认值。我已经给出了20的值,并从schema.xml生成了maxAnalyzedChars 99999。即使这样,我也只得到了第一次机会

我还在solrconfig.xml中添加了一些内容

<requentestHandler name="/search"  class="solr.SearchHandler"> 
<lst name="defaults"> 
 <str name="defType">dismax</str> 
 <int name="rows">10</int> 
 <str name="echoParams">explicit</str> 
 <str name="qf">content&#94;0.5 title&#94;1.2 </str> 
 <str name="q.alt">*:*</str> 
 <bool name="hl">true</bool> 
 <str name="hl.fl">title content url</str> 
 <str name="f.content.hl.fragsize">20</str> 
 <str name="f.content.hl.snippets">3</str>  
 <str name="f.content.hl.alternateField">content</str> 
 <str name="f.title.hl.fragsize">0</str> 
 <str name="f.title.hl.alternateField">title</str> 
 <str name="f.url.hl.fragsize">0</str> 
 <str name="f.url.hl.alternateField">url</str> 
</lst> 


有人能帮我吗?我是新来Solr的。我的要求是提取包含给定单词的短语

我尝试使用Solr高亮显示来查找搜索文本的多次出现。默认情况下,Solr只提供一个引用。我尝试使用/select请求处理程序。在查询时,我传递了以下参数

hl.fragsize=999999999&hl.maxAnalyzedChars=999999999
现在,它能够找到搜索文本的多个匹配项。我希望这些参数也适用于您的/search处理程序。因此,请尝试为hl.fragsize和hl.maxAnalyzedChars提供一个非常大的数字。

只需使用参数指定所需的代码段数量

[编辑]-关于您的评论,您似乎查询了错误的requestHandler。那么,这也许可以解释你的问题。无论如何,以下是一些可能有用的澄清:

对应于要返回的最大代码段数。用它作为限制

对应于要从匹配字段片段长度返回的字符串的长度。值为0表示长度或整个字段不受限制

当hl.fragsize设置为大于字段内容长度的值时,荧光笔只能从该字段返回一个片段或整个字段,而不考虑hl.snippets值或该字段中的匹配数


为了获得包含突出显示的片段作为一个片段,使用一个等价于你认为是平均短语长度100到300的片段大小是常用的值。但我得到了文件的全部内容。我只想显示包含搜索文本的行。例如,如果一个大文档中有4次STACKOVERFOLW,我只需要有STACKOVERFOLW的那4行。请帮忙,我已经把它设为20了。但我过去只遇到过一次。如果我遵循上面的方法,我会得到整个文件的内容,并找到搜索到的文本。我只需要包含搜索文本的短语。不是全部内容