如何在 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在此处的源定义中传递,这非常有用。