2016-04-05 6 views
1

AlgoliaをRails 4で使用していて、すべてが機能しています。私はダッシュボードからではなく、Railsからファセット設定を追加することに興味があります。RailsからAlgoliaファセット設定を追加する

これは可能ですか?もしそうなら、どうすればRailsプロジェクトに実装できますか?

私は唯一のレールからattributesForFacetingを見ましたが、Algolia facets設定で追加しません。

attributesForFacetingメソッドを間違って使用しましたか?もしそうなら、それを `refinementList 'の属性としてどのように使うことができますか?

答えて

3

インデックス作成時に、あなたのレールアプリで、attributesForFacetingが実際に変更したいパラメータです。 the docs hereを引用

class Contact < ActiveRecord::Base 
    include AlgoliaSearch 

    algoliasearch do 
    # [...] 

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

あなたがであなたのAlgoliaダッシュボードをチェックする必要があります>あなたのインデックス> [表示]タブこの設定が正しく設定されていること

facets parameterは、クエリ時に取得するファセットのリストを指定するために使用します。

ファセット作成に使用するオブジェクト属性のリスト。 [...] attributesForFacetingインデックス設定で追加された属性のみをこのパラメータで使用できます。 *を使用して、attributesForFacetingで指定されたすべての属性に対してファセット処理を実行することもできます。しかし

、あなたはあなたのフロントエンドでinstantsearch.jsを使用しているので、あなたはファセットウィジェット上attributeNameを設定する必要があります。 refinementListこの例で
は、我々はbrandファセットを取得したい:instantsearch.js

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

ウィジェットは、その後AlgoliaのAPIが期待facetsパラメータを設定するには、このattributeNameパラメータを使用します。

+0

詳細な説明をいただきありがとうございます。私がしなければならないのは、私のモデルを再インデックスすることだけです。回答ありがとうございます。 :D – HtooEainLwin

関連する問題