我正在使用Instantsearch.js和小部件的组合来显示我的搜索结果(几乎完全在演示之后建模)。
我需要为构面设置一些初始值,因此默认情况下会过滤某些项。我该怎么做呢?我知道AlgoliaSearchHelper(帮助程序)对象具有方法toggleRefinement,该方法应该允许我执行此操作,但是在调用执行初始查询的search.start()之前,我似乎无法访问此帮助程序。
任何有关如何设置一些默认优化的建议或见解将不胜感激。谢谢。
更新:这不是重复的-我的问题似乎一直在与Instantsearch.widget.toggle有关。看起来此小部件在初始搜索之前在幕后设置了默认值。我已经调整了代码以不使用此小部件,而只是设置了searchParameters.tagFilters属性。这是切换小部件,因为我不知道如何覆盖其默认过滤条件,这使我不知所措。
向instantsearch.js实例添加初始过滤器的最简单方法是使用额外的自定义小部件:
var search = instantsearch({
appId: 'YourApplicationID',
apiKey: 'YourSearchOnlyAPIKey',
indexName: 'YourIndexName'
});
search.addWidget(
instantsearch.widgets.searchBox({
container: '#search-box',
placeholder: 'Search for FIXME...'
})
);
search.addWidget(
instantsearch.widgets.hits({
container: '#hits-container',
templates: {
item: 'Hit {{objectID}}: FIXME'
}
})
);
// setup initial filters
search.addWidget({
init: function(options) {
// use options.helper (https://github.com/algolia/algoliasearch-helper-js) to initialize the search with custom filters & parameters
options.helper.addFacetRefinement('MyFacet', 'my value');
}
});
search.start();
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句