如何在 Algolia 自动完成中设置每页点击数
How to set hits per page on Algolia autocomplete
在自动完成的文档中,it states:
Hits
To build a source based on Algolia's hits array, just use:
{
source: autocomplete.sources.hits(indexObj, { hitsPerPage: 2 }),
templates: {
suggestion: function(suggestion, answer) {
// FIXME
}
}
}
但是,我不确定 idexObj
应该是什么。我有一个包含三个索引的 instantsearch 实例,但传递任一索引都会出现以下错误:
autocomplete.min.js?_=1494237458641:7 Uncaught TypeError: Cannot read property '_ua' of undefined
同时传递 indexObj
结果:
Uncaught ReferenceError: indexObj is not defined
我需要限制显示的结果数量,我想传递源应该可以做到,但我不知道如何传递它。
@risipuri 是对的,但因为我使用了多个索引,所以这个例子并没有真正起作用。但是,它确实让我回到了 the documentation,在那里我发现了以下内容:
autocomplete('#aa-search-input', {}, [
{
source: autocomplete.sources.hits(players, { hitsPerPage: 3 }),
displayKey: 'name',
templates: {
header: '<div class="aa-suggestions-category">Players</div>',
suggestion: function(suggestion) {
return '<span>' +
suggestion._highlightResult.name.value + '</span><span>'
+ suggestion._highlightResult.team.value + '</span>';
}
}
},
{
source: autocomplete.sources.hits(teams, { hitsPerPage: 3 }),
displayKey: 'name',
templates: {
header: '<div class="aa-suggestions-category">Teams</div>',
suggestion: function(suggestion) {
return '<span>' +
suggestion._highlightResult.name.value + '</span><span>'
+ suggestion._highlightResult.location.value + '</span>';
}
}
}
]);
注意hitsPerPage
在此处的源定义中传递,这非常有用。
在自动完成的文档中,it states:
Hits
To build a source based on Algolia's hits array, just use:
{ source: autocomplete.sources.hits(indexObj, { hitsPerPage: 2 }), templates: { suggestion: function(suggestion, answer) { // FIXME } } }
但是,我不确定 idexObj
应该是什么。我有一个包含三个索引的 instantsearch 实例,但传递任一索引都会出现以下错误:
autocomplete.min.js?_=1494237458641:7 Uncaught TypeError: Cannot read property '_ua' of undefined
同时传递 indexObj
结果:
Uncaught ReferenceError: indexObj is not defined
我需要限制显示的结果数量,我想传递源应该可以做到,但我不知道如何传递它。
@risipuri 是对的,但因为我使用了多个索引,所以这个例子并没有真正起作用。但是,它确实让我回到了 the documentation,在那里我发现了以下内容:
autocomplete('#aa-search-input', {}, [
{
source: autocomplete.sources.hits(players, { hitsPerPage: 3 }),
displayKey: 'name',
templates: {
header: '<div class="aa-suggestions-category">Players</div>',
suggestion: function(suggestion) {
return '<span>' +
suggestion._highlightResult.name.value + '</span><span>'
+ suggestion._highlightResult.team.value + '</span>';
}
}
},
{
source: autocomplete.sources.hits(teams, { hitsPerPage: 3 }),
displayKey: 'name',
templates: {
header: '<div class="aa-suggestions-category">Teams</div>',
suggestion: function(suggestion) {
return '<span>' +
suggestion._highlightResult.name.value + '</span><span>'
+ suggestion._highlightResult.location.value + '</span>';
}
}
}
]);
注意hitsPerPage
在此处的源定义中传递,这非常有用。