Solr Highlighting:如何为同一字段请求多个代码段长度?

Solr Highlighting:如何为同一字段请求多个代码段长度?,solr,highlighting,Solr,Highlighting,我试图找到一种方法,为单个字段请求多个不同长度的代码片段。我知道这可以通过发出两个单独的查询或复制字段来实现,但我希望避免查询负载或索引大小加倍。我也不想求助于编写自定义代码段生成器 我正在使用Solr4.0,我认为新特性可能是一个理想的解决方案。但是,突出显示组件似乎不理解这种新语法。例如,以下请求理想情况下会返回两个突出显示的代码段:一个短代码段和完整字段: http://localhost:8983/solr/select?defType=edismax&q=foo&qf=

我试图找到一种方法,为单个字段请求多个不同长度的代码片段。我知道这可以通过发出两个单独的查询或复制字段来实现,但我希望避免查询负载或索引大小加倍。我也不想求助于编写自定义代码段生成器

我正在使用Solr4.0,我认为新特性可能是一个理想的解决方案。但是,突出显示组件似乎不理解这种新语法。例如,以下请求理想情况下会返回两个突出显示的代码段:一个短代码段和完整字段:

http://localhost:8983/solr/select?defType=edismax&q=foo&qf=content&fl=id&hl=true&hl.fl=content,snip:content&f.content.hl.fragsize=50000&f.snip.hl.fragsize=200&wt=json&indent=true
这会产生如下结果:

"highlighting":{
"12345":{
  "content":{
    "snippet":["<em>foo</em> bar baz"]},
  "snip:content":{
    "snippet":null}},
“突出显示”:{
"12345":{
“内容”:{
“snippet”:[“foo-bar-baz”]},
“剪:内容”:{
“snippet”:null}},
由此我推断,highlighter查找名为“snip:content”的字段时失败了。我尝试了fl、qf和params中指定的字段别名的多种变体,但均无效。我一直在讨论JIRA问题、修补程序和源代码,但我无法确定正确的语法应该是什么

有人对此有什么想法吗?

您可以查看:-

每个字段要生成的突出显示的代码段的最大数量。 注意:从零到这个数字,可以有任意数量的代码段 要生成的值。此参数接受每字段重写

默认值为“1”


感谢您花时间回复。hl.snippets参数确实启用了多个代码段,但仅用于固定长度。例如,您如何为给定字段请求两个不同长度的代码段?