Algolia 自动完成与多个索引的链接
Algolia Autocomplete Linking with Multiple Indices
我已经设置了 Algolia 的 autocomplete.js 来搜索多个索引(“资源”和“用户”)。我希望用户点击“资源”时的 link 不同于用户点击 'user.'
时的效果
使用 Algolia 的文档进行 jQuery 实施,我有以下内容:
$('#aa-search-input').autocomplete(
{
hint: true,
minLength: 2,
}, [
{
source: $.fn.autocomplete.sources.hits(resources, { hitsPerPage: 3 }),
displayKey: 'name',
templates: {
header: '<div class="aa-suggestions-category">Resources</div>',
suggestion: function(suggestion) {
return '<span>' +
suggestion._highlightResult.name.value + '</span><span>'
+ suggestion._highlightResult.write_up.value + '</span>';
},
empty: '<div class="aa-empty">No matching resources <i class="frown icon"></i></div>',
}
},
{
source: $.fn.autocomplete.sources.hits(users, { hitsPerPage: 3 }),
displayKey: 'name',
templates: {
header: '<div class="aa-suggestions-category">Users</div>',
suggestion: function(suggestion) {
return '<span>' +
suggestion._highlightResult.username.value + '</span>';
},
empty: '<div class="aa-empty">No matching users <i class="frown icon"></i></div>',
}
}
]).on('autocomplete:selected', function(event, suggestion, dataset) {
location.href = '/resources/view/show-' + suggestion.id;
});
如何将 .on('autocomplete.selected) 函数分别应用于两个 sources 中的每一个?
我已经设置了 Algolia 的 autocomplete.js 来搜索多个索引(“资源”和“用户”)。我希望用户点击“资源”时的 link 不同于用户点击 'user.'
时的效果使用 Algolia 的文档进行 jQuery 实施,我有以下内容:
$('#aa-search-input').autocomplete(
{
hint: true,
minLength: 2,
}, [
{
source: $.fn.autocomplete.sources.hits(resources, { hitsPerPage: 3 }),
displayKey: 'name',
templates: {
header: '<div class="aa-suggestions-category">Resources</div>',
suggestion: function(suggestion) {
return '<span>' +
suggestion._highlightResult.name.value + '</span><span>'
+ suggestion._highlightResult.write_up.value + '</span>';
},
empty: '<div class="aa-empty">No matching resources <i class="frown icon"></i></div>',
}
},
{
source: $.fn.autocomplete.sources.hits(users, { hitsPerPage: 3 }),
displayKey: 'name',
templates: {
header: '<div class="aa-suggestions-category">Users</div>',
suggestion: function(suggestion) {
return '<span>' +
suggestion._highlightResult.username.value + '</span>';
},
empty: '<div class="aa-empty">No matching users <i class="frown icon"></i></div>',
}
}
]).on('autocomplete:selected', function(event, suggestion, dataset) {
location.href = '/resources/view/show-' + suggestion.id;
});
如何将 .on('autocomplete.selected) 函数分别应用于两个 sources 中的每一个?