Я использую FieldCollapsing для группировки результатов.
Пример: я ищу : и группирую по именам, например:
http://localhost:<port>/solr/select/?q=*:*
&group=true
&group.limit=200
&group.query=Jim
&group.query=Jon
&group.query=Frank Sinatra
Похоже, solr выполняет (внутренний) отдельный запрос для каждого имени. (без разницы)
Дело в том, что мне нужно изменить локальный параметр поиска, чтобы установить другой оператор поиска (от ИЛИ до И).
Для получения правильных результатов мне нужен запрос, подобный следующему:
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 возвращает метку группы, включающую параметр locale!
<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?