小编bob*_*ito的帖子

Algolia instantsearch.js回调函数

我使用Algolia instantsearch.js为我的网站的搜索.

设置过程相当简单直接,包括.js和.css文件,创建模板,然后再创建一个.js文件,其中app()包含设置我的应用程序(appId,apiKey,indexName)和小部件的功能.

我需要的是每次搜索功能运行时执行的功能,最好是在显示命中后立即执行.

也许有一个小部件呢?

谢谢!

javascript jquery algolia instantsearch.js

7
推荐指数
1
解决办法
1352
查看次数

React InstantSearch RefinementList transformItems无法正常工作

所以我已经在我的应用程序中成功实现了React InstantSearch库,并尝试将过滤器应用于细化列表(以确保显示的过滤器与活动用户相关,并隐藏不存在的过滤器).我试过以下:

<RefinementList attributeName="organization" transformItems={items => items.filter(e => refineList.indexOf(e)>=0)} />
Run Code Online (Sandbox Code Playgroud)

其中refineList是一个简单的字符串数组(即["A","B","C"])

但是,RefinementList会一直显示所有过滤器选项,而不会应用"transformItems"函数.是不是我误解了"transformItems"是如何工作的?

关于这个主题的文档很少,所以我相信它对图书馆的许多其他用户都有帮助.

javascript reactjs algolia react-instantsearch

3
推荐指数
1
解决办法
414
查看次数

Algolia动态方面的选择

问题如下.我们使用algolia instantsearch.每个产品都有卖家.当前用户订阅了一些卖家.用户应该有可能通过订阅的卖家和那些没有订阅的卖家来过滤产品.为此,我尝试使用小部件切换.在那里我为当前用户设置的子列表卖家列表,用逗号分隔为开关选项

values: {
  on: '37,41,67',
  off: '45,56',
},
Run Code Online (Sandbox Code Playgroud)

但只有在我只指定一个卖家时它才有用.并且完成默认选项.我试过使用numericRefinementList小部件

options: [
  { label: 'On', value: '37,41,67' },
  { label: 'Off', value: '45,56' },
],
Run Code Online (Sandbox Code Playgroud)

但它不起作用也可以有人提出解决方案吗?

javascript algolia instantsearch.js

1
推荐指数
1
解决办法
372
查看次数

无限搜索的Algolia bug

目前正在使用Algolia通过其instantSearch.js提供的无限搜索方法.

发生以下情况:

  1. 搜索项目
  2. 优化列表
  3. 加载更多页面到第5页
  4. 滚动回到顶部并更改细化
  5. 什么都没发生

从它的外观来看 - 它将新细化的结果附加到已经存在的结果中.我想让它反感结果,不确定这是否是即时搜索本身的错误?

   search.addWidget(
      instantsearch.widgets.numericRefinementList({
        container: '#price',
        attributeName: 'salePrice',
        options: [
          {name: 'All'},
          {end: 20, name: 'less than 20'},
          {end: 50, name: 'less than 50'},
          {start: 50, end: 100, name: 'between 50 and 100'},
          {start: 100, end: 300, name: 'Expensive'},
          {start: 300, name: 'Very Expensive'}
        ],
        templates: {
          header: 'Price'
        }
      })
    );
Run Code Online (Sandbox Code Playgroud)

而无限的搜索代码:

search.addWidget(
  instantsearch.widgets.infiniteHits({
    container: '#infinite-hits-container',
    templates: {
      empty: 'No results',
      item: hitTemplate
    },
    hitsPerPage: 3
  })
);
Run Code Online (Sandbox Code Playgroud)

algolia instantsearch.js

0
推荐指数
1
解决办法
215
查看次数