我尝试在我的Instantsearch应用程序中使用一个永远在线的过滤器(在用户搜索之前和之后)&从文档中尝试了两种方式:
第一
var search = instantsearch({
appId: '------------------,
apiKey: '-----------------',
indexName: 'words',
urlSync: true,
filters: 'sendDateUnix<'+ Date.now(),
});
第二
var search = instantsearch({
appId: '------------------,
apiKey: '-----------------',
indexName: 'words',
urlSync: true,
numericFilters: [
'sendDateUnix<'+ Date.now()
]
});
正如您所看到的,我有一个属性是Unix时间戳,并且只想获得此时间戳大于现在的结果。当我在algolia界面中设置此参数时,它完美地工作。当我编写完全过滤器时它也不起作用:&#39; sendDateUnix&lt; 1519751110&#39;
IS版本:
<script src="https://cdn.jsdelivr.net/instantsearch.js/1/instantsearch.min.js"></script>
答案 0 :(得分:6)
numericFilters
上的instantsearch
选项不存在。您需要在searchParameters
属性中包含其他参数。有关更多信息,请参阅the documentation。
const search = instantsearch({
appId: '------------------,
apiKey: '-----------------',
indexName: 'words',
urlSync: true,
searchParameters: {
numericFilters: ['sendDateUnix < ' + Date.now()],
},
});