我正在尝试找到一种方法来为单个字段请求不同长度的多个片段。我知道这可以通过发出两个单独的查询或复制字段来完成,但我想避免将查询负载或索引大小加倍。我也不愿意编写自定义代码段生成器。
我正在使用Solr 4.0,我想也许新的field aliasing功能将是一个理想的解决方案。但是,突出显示组件似乎并不理解这种新语法。例如,理想情况下,以下请求将返回两个突出显示的片段:一个简短的片段和完整的字段:
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}},
从此我得知荧光笔会寻找名为&#34; snip:content&#34;并失败。我尝试了fl,qf和f.myalias.qf参数中指定的字段别名的许多变体,但无济于事。我一直在倾注JIRA问题,补丁和源代码,但我无法确定正确的语法应该是什么。
有没有人对如何解决这个问题有所了解?
答案 0 :(得分:2)
您可以查看hl.snippets: -
每个字段生成的突出显示的最大代码段数。 注意:任何数量的片段都可以从零到此 要生成的值。此参数接受每个字段的覆盖。
默认值为“1”。