Solr изменить результат запроса - PullRequest
0 голосов
/ 24 октября 2019

У меня есть следующие поля в моей схеме управления

  <field name="title" type="string" indexed="true" stored="true"/>  
  <field name="body" type="text_general" indexed="true" stored="true"/>
  <field name="url" type="string" uninvertible="true" indexed="true" stored="true"/>

Также я использую edismax с полями запросов с опциональным параметром boost (qf = body ^ 2 title ^ 100).

Iу меня много URL из разных доменов, например:

http://domain1.com/
http://domain1.com/aaa
http://domain1.com/aaa/bbb
http://domain1.com/aaa/bbb2
http://domain1.com/aaa/bbb3
http://domain2.com/
http://domain2.com/aaa
http://domain2.com/aaa/bbb
http://domain2.com/aaa/bbb2
http://domain2.com/aaa/bbb3
http://domain3.com/
http://domain3.com/aaa
http://domain3.com/aaa/bbb
http://domain3.com/aaa/bbb2
http://domain3.com/aaa/bbb3

Проблема в том, что при поиске я получаю много похожих результатов из одного домена, а результаты со следующего домена начинаются с 30-100 документов. Как получить результат из другого домена наверху.

1 Ответ

0 голосов
/ 25 октября 2019

Вам нужно будет разделить доменное имя URL-адреса в отдельном поле. Вы не можете использовать поле url, поскольку оно уже содержит только уникальные значения, и поле, которое вы используете для группировки, также должно быть полем string (т. Е. Оно не будет разбито на несколько токенов).

Затем можно использовать поддержку Свернуть и развернуть , чтобы свернуть набор результатов на основе домена:

q=...&fq={!collapse field=domain}&expand=true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...