如何在即时搜索小部件上设置 Algolia searchableAttributes?
How can I set Algolia searchableAttributes on an instantsearch widget?
我正在尝试设置可搜索的属性,以便这些属性可以由语言环境动态控制。我正在尝试遵循 algolia 关于多语言支持的指南:
https://www.algolia.com/doc/guides/search/multilingual-search/
示例显示在索引上设置此值:
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 将其他语言相关字段设置为可搜索。
searchableAttributes
设置的不是查询参数。 JS Helper 是客户端之上的仅查询层。这意味着您无法使用 JS Helper 设置索引。
您需要为多语言支持做的是为每种语言创建一个副本。每个副本都有一组不同的可搜索属性。然后使用 instantsearch.js 或 JS Helper 可以切换索引,分别使用 helper 的 sortBySelector widget or the setIndex 方法。
我正在尝试设置可搜索的属性,以便这些属性可以由语言环境动态控制。我正在尝试遵循 algolia 关于多语言支持的指南: https://www.algolia.com/doc/guides/search/multilingual-search/
示例显示在索引上设置此值:
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 将其他语言相关字段设置为可搜索。
searchableAttributes
设置的不是查询参数。 JS Helper 是客户端之上的仅查询层。这意味着您无法使用 JS Helper 设置索引。
您需要为多语言支持做的是为每种语言创建一个副本。每个副本都有一组不同的可搜索属性。然后使用 instantsearch.js 或 JS Helper 可以切换索引,分别使用 helper 的 sortBySelector widget or the setIndex 方法。