ロケールによって動的に制御できるように、検索可能な属性を設定しようとしています。私は、マルチLANGサポートのalgoliaから、このガイドに従うことをしようとしています: https://www.algolia.com/doc/guides/search/multilingual-search/インスタント検索ウィジェットでAlgolia searchableAttributesを設定するにはどうすればよいですか?
の例では、インデックスにこの値を設定する例を示します
Algolia.init_index('movies').set_settings({"searchableAttributes"=>["title_eng,title_fr,title_es"]})
が、これは私が私のインデックスを作成していない方法で、多分私は何かが欠けている?私はまた、set_settings
メソッドをヘルパーに持たないようです。
:最後に、私が設定していますことに注意することが重要であろう
次のコーヒースクリプトコードブロックの底部に向かっていhelper.setQueryParameter('searchableAttributes', searchable_terms_array)
searchable_terms_array = [
'title_de'
'title_en'
'title_fr'
]
restricted_terms_array = [
'title_' + current_locale
]
search = instantsearch(
appId: 'MY-ID'
apiKey: 'MY_KEY'
indexName: 'my_index_' + rails_env
urlSync: {
threshold: 300
getHistoryState: ->
{ turbolinks: true }
}
searchFunction: (helper) ->
query = search.helper.state.query
# Here is my attempt, doesn't seem to work
helper.setQueryParameter('searchableAttributes', searchable_terms_array)
# is there another way to set above line?
helper.setQueryParameter('restrictSearchableAttributes', restricted_terms_array)
videos.helper.setQuery query
videos.helper.search()
helper.search()
return
)
Algolia管理コンソールを介して主要な検索可能な属性を追加することはできますが、追加の言語関連フィールドをAPI経由で検索可能に設定するはずです。
これはもっと意味があります。私が今実行している現在の問題は、複製関係が消えていくことです。主索引を作成し、4つのロケール索引(各言語に1つ)を作成しました。 次に、レプリカタブのメインインデックスにロケールインデックスをレプリカとして設定します。メインインデックスにさらにデータをプッシュすると、ロケールレプリカは突然関連付けられなくなります。つまり、レプリカタブが突然「構成されていません」。私は何が欠けていますか? – Thomas
将来の読者のために:データの索引作成にalgoliasearch-rails gemを使用している場合、 'add_replica'メソッドを使用して、' .reindex! 'コールが消去されるレプリカを確実に置き換えてください。 - [algolia rails gem replica docs](https://github.com/algolia/algoliasearch-rails#primaryreplica) – Thomas