【问题标题】:How to show more than 1000 records in Algolia instantsearch.js如何在 Algolia Instantsearch.js 中显示 1000 多条记录
【发布时间】:2017-04-20 11:59:28
【问题描述】:

我在一个项目中使用 Algolia 和 Instantsearch.js 来进行搜索并在其中显示类别和内容(类别页面和搜索页面由 Algolia 提供支持)。我们使用的是来自 cdn 的 Instantsearch.js v1。

我们的主要问题是搜索没有提供超过 1000 条我们需要的记录。

据我正确理解,browse() 方法提供了更多结果,但它在 Instantsearch.js 中不可用。

另外,在阅读文档后,我发现有一个名为paginationLimitedTo 的新选项,它允许显示超过 1000 条记录:

https://www.algolia.com/doc/rest-api/search/#paginationlimitedto

因此,设置此项将允许显示超过 1000 条记录。

你能帮帮我吗,我应该如何获得超过 1000 条记录,或者如果它可以实现我们的目标,我们如何在 Instantsearch.js 中设置这个 paginationLimitedTo 属性?如果我暂时需要构建或编辑instantsearch.js,我可以。

提前致谢,

【问题讨论】:

    标签: algolia


    【解决方案1】:

    为了更改paginationLimitedTo 的值,您需要创建一个自定义client 对象,然后通过调用client.initIndex(indexName) 获取您的index,然后通过调用更改设置

    index.setSettings({
      paginationLimitedTo: 1000
    });
    

    您可以查看文档here 中的指南。

    另外,请记住以下几点:

    我们建议保留默认值以保证出色的性能。增加分页限制将对搜索查询的性能产生直接影响。过高的值也会让任何人都非常容易检索(“抓取”)您的整个数据集。

    【讨论】:

    • 要添加,您可以使用options.createAlgoliaClient community.algolia.com/instantsearch.js/documentation/… 添加自定义客户端
    • @HaroenViaene & Guy:您好,感谢您的快速回复!但是,当我这样设置时,公共 api 密钥让我说“此 API 密钥不允许使用方法”,但是当我使用我的管理密钥时它可以工作!当然,我不会在公共 Javascript 文件中使用我的管理员密钥。还有其他解决方法吗?这是我尝试过的要点:gist.github.com/anonymous/d1171aa046a52e011d466e38c6b17aa4
    • paginationLimitedTo 设置不能在查询时设置,可以通过setSettings 方法使用管理员 API 密钥设置一次。所以你只需要设置一次,而不是每次查询。
    • 嘿,我刚刚又问过别人了,你也可以在没有自定义客户端的情况下设置这个参数,用searchParameters,方法一样。也可以查看algolia.com/doc/faq/searching/…,但我真的建议你不要这样做:)
    • @JanPetr 我只用管理员设置了一次,我创建了一个允许搜索和浏览的自定义 API 密钥。那是我所缺少的。谢谢!
    猜你喜欢
    • 2011-07-13
    • 2017-01-03
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 2017-11-29
    • 2016-08-07
    相关资源
    最近更新 更多