我正在使用 FieldCollapsing 对结果进行分组。示例:我搜索:并按名称分组,例如:
http://localhost:<port>/solr/select/?q=*:*
&group=true
&group.limit=200
&group.query=Jim
&group.query=Jon
&group.query=Frank Sinatra
看起来,solr 正在(内部)对每个名称运行一个单独的查询。(无论如何)关键是,我必须更改本地搜索参数才能设置不同的搜索运算符(从 OR 到 AND)。要获得有效结果,我需要这样的查询:
http://localhost:<port>/solr/select/?q=*:*
&group=true
&group.limit=200
&group.query={!q.op=AND defType=edismax}Jim
&group.query={!q.op=AND defType=edismax}Jon
&group.query={!q.op=AND defType=edismax}Frank Sinatra
这很好用。问题是,solr 返回包含语言环境参数的组标签!
<lst name="grouped">
<lst name="{!q.op=AND defType=edismax}Frank Sinatra"> <---- wrong label
<int name="matches">785</int><result name="doclist" numFound="10" start="0">
<doc>
[...]
一个有效的结果是:
<lst name="grouped">
<lst name="Frank Sinatra">
<int name="matches">785</int><result name="doclist" numFound="10" start="0">
<doc>
[...]
有没有办法将标签更改为 solr 正在搜索的真实术语?