Добавить настройку фасетирования Algolia из Rails

Я использую Algolia с Rails 4, и все работает. Мне любопытно добавить настройку фасетирования из Rails, а не из моей панели инструментов.

Это возможно? Если это так, как я могу реализовать это в своем проекте Rails?

Я видел только attributesForFaceting из рельсов, но он не добавляется в настройку Algolia facets.

Я неправильно использовал метод attributesForFaceting? Если да, то как я могу использовать его в качестве атрибута `refinementList?


person HtooEainLwin    schedule 05.04.2016    source источник


Ответы (1)


Во время индексации, поэтому в вашем приложении rails attributesForFaceting действительно является параметром, который вы хотите изменить.
Цитата документы здесь:

class Contact < ActiveRecord::Base
  include AlgoliaSearch

  algoliasearch do
    # [...]

    # specify the list of attributes available for faceting
    attributesForFaceting [:company, :zip_code]
  end
end

Вы должны проверить в разделе Ваша панель управления Algolia > Ваш индекс > вкладка "Отображение" правильность настройки этого параметра.

Параметр facets используется для указания списка фасетов, которые вы хотите получить при запросе. время.

Список атрибутов объекта, которые вы хотите использовать для огранки. [...] В этом параметре можно использовать только те атрибуты, которые были добавлены в параметре индекса attributesForFaceting. Вы также можете использовать * для выполнения огранки всех атрибутов, указанных в attributesForFaceting.

Однако, поскольку вы используете instantsearch.js во внешнем интерфейсе, вы должны установить attributeName в виджетах фасетирования.
В этом примере с refinementList, мы хотим получить brand аспектов:

search.addWidget(
  instantsearch.widgets.refinementList({
    container: '#brands',
    attributeName: 'brand'
  })
);

Затем виджеты в instantsearch.js будут использовать этот параметр attributeName для установки параметра facets, ожидаемого API Algolia.

person Jerska    schedule 05.04.2016
comment
Спасибо за подробное объяснение. Все, что мне нужно сделать, это переиндексировать мою модель. Спасибо за ответы. :D - person HtooEainLwin; 05.04.2016