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 中的每一个?

我们已经为您提供了一个示例来说明如何执行此操作here

on("autocomplete:selected", function(event, suggestion, dataset) {
  // 1-indexed dataset
  var url = datasets[dataset-1].url
  // do something with:
  console.log(url, suggestion);
  // for example
  // location.href = url + suggestion.objectID
});

如果有其他问题,也可以看看Discourseforum