我正在尝试找到一种方法来为单个字段请求多个不同长度的片段。我知道这可以通过发出两个单独的查询或复制字段来完成,但我想避免将查询负载或索引大小加倍。我也不想求助于编写自定义代码段生成器。
我正在使用 Solr 4.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}},
由此我得知荧光笔查找名为“snip:content”的字段并失败。我使用 fl、qf 和f.myalias.qf参数中指定的字段别名尝试了多种变体,但无济于事。我一直在讨论 JIRA 问题、补丁和源代码,但我无法确定正确的语法应该是什么。
有没有人对如何解决这个问题有想法?