2016-04-05 19 views
1

Rails 4 ile Algolia kullanıyorum ve her şey çalışıyor. Gösterge panelimden değil, Rails'den bir kaplama ayarı eklemeyi merak ediyorum. Rails'den Cezayir faceting ayarı ekle

olması mümkün mü? Öyleyse, bunu Rails projemde nasıl uygulayabilirim?

Yalnızca raylardan attributesForFaceting'u gördüm, ancak Algolia facets ayarında ekleme yapmıyor.

attributesForFaceting yöntemini yanlış mı kullandım? Eğer öyleyse, onu nasıl 'refinementList' özelliği olarak kullanabilirim?

cevap

3

Endeksleme süresinde, raylar uygulamanızda attributesForFaceting gerçekten değiştirmek istediğiniz parametredir. the docs here aktaran
:

class Contact < ActiveRecord::Base 
    include AlgoliaSearch 

    algoliasearch do 
    # [...] 

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

Sen Your Algolia panosunu kontrol etmelidir> Sizin Endeksi> Ekran sekmesi Bu ayar doğru ayarlanmış olduğundan emin.

facets parameter, sorgu zamanında almak istediğiniz adreslerin listesini belirtmek için kullanılır.

Faceting için kullanmak istediğiniz nesne özelliklerinin listesi. [...] Sadece bu parametrede attributesForFaceting dizin ayarında eklenmiş olan özellikler kullanılabilir. attributesForFaceting'da belirtilen tüm özniteliklerde kaplama yapmak için *'u da kullanabilirsiniz. Ancak

, kendi ön sayfadan instantsearch.js kullanıyorsanız beri, sen faceting aletler üzerinde attributeName belirlesin. Bir refinementList ile bu örnekte
, biz brand yönleriyle almak istiyorum: instantsearch.js yılında

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

widget'ları sonra Algolia API bekliyoruz facets parametreyi ayarlamak için bu attributeName parametreyi kullanacaktır.

+0

Detaylı açıklamanız için teşekkür ederiz. Tek yapmam gereken modelimi reindex. Cevabın için teşekkür ederim. : D – HtooEainLwin