Как добавить больше полей в фасет, отличных от стандартных, с помощью SOLR?

#php #solr

#php #solr

Вопрос:

Как добавить больше полей в фасет, отличных от стандартных, с помощью SOLR? Например, solr возвращает это поле фасета и количество в фасете, но я хочу получить другие поля также вместе с фасетами. Пожалуйста, помогите

Например: — Если мне нужно создать фасет категории, SOLR вернет только название категории и количество в фасете. итак, если я хочу добавить еще одно поле, например category_id, также с этим фасетом, как я могу это сделать?

Редактировать: — Я хочу, чтобы фасеты категорий имели такой формат.

категория: [ { имя: «Мобильные телефоны», numDocs: 1002, category_id: 1719 }, { имя: «Батареи», numDocs: 543, category_id: 1533, } ]

Ответ №1:

Вы ознакомились с документацией по параметрам facet?

Я не совсем понимаю ваш вопрос, но я подозреваю, что смотрю на facet.запрос, а также теги и исключающие фильтры могут быть правильным направлением для исследования.

Комментарии:

1. пожалуйста, проверьте вопрос сейчас для уточнения

Ответ №2:

Решение заключается в использовании «appends» вместо «defaults» в файле solrconfig

Это пример:

  <lst name="appends">
     <str name="facet.field">field1</str>
     <str name="facet.field">field2</str>
 </lst>
  

Дело в том, что с любым разделом, помеченным как «defaults», это означает, что это значения по умолчанию, и если значение не указано в URL, используется значение по умолчанию. Однако, если значение передается через URL, эти значения игнорируются.

Насколько я понимаю, вам нужно сделать наоборот. Вы хотите указать необязательное значение из URL-адреса и при этом иметь возможность добавлять значения из файла конфигурации. Итак, в этом случае вы помещаете свои конфигурации в раздел «добавления», а не «значения по умолчанию». Потому что значения по умолчанию перезаписываются параметрами URL.

Приветствия.

Комментарии:

1. каким будет запрос solr для добавления полей в URL? можете ли вы привести мне какой-нибудь пример

2. запрос sorl будет таким же, как обычно, и вы просто добавите дополнительные параметры, например: server / core / select? q = что угодно amp;facet.field=field3