【发布时间】:2017-12-08 04:38:27
【问题描述】:
我有一个带有以下 JSON 键的索引,并且可以有两个值:
ApprovalFL: true 或 ApprovalFL: null
我希望我的搜索结果仅显示带有 ApprovalFL: true 的结果,这意味着它们已获准在网站上显示。
我尝试研究 Algolia Facet 方法 (https://www.algolia.com/doc/guides/searching/faceting/#search-for-facet-values),但老实说,我不太确定将它放在我的代码中的哪个位置,(开发人员最初设置了 Algolia……我仍在学习)这是我的相关 javascript :https://jsfiddle.net/vpnvt9vv/1
这是我的代码的 sn-p,其余的可以在上面的链接中找到:
var searchSong = instantsearch
({
appId: "---",
apiKey: "---",
indexName: "Song",
searchFunction: function (helper) {
var query = searchArtist.helper.state.query;
helper.state.index = "Song";
helper.state.hitsPerPage = 30;
helper.setQuery(query);
helper.search();
},
searchParameters:
{
hitsPerPage: 30
}
});
我已经在 Algolia Dashboard 页面中添加了“attributesforFaceting”的键。
如果您想查看实时示例,请转到 https://unearthapp.io 并在搜索栏中输入字母“a”,您将看到来自名为“Turbo”的艺术家的两个结果,当我只希望 ApprovalFL 为 true 的歌曲显示
如果您需要更多信息,请告诉我,谢谢!
【问题讨论】:
-
您是否尝试将
facetFilters设置为["ApprovalFL:true"]?尝试将其放在searchFunction或searchParameters中。 -
@NanduKalidindi 我想我的问题是,我应该把它放在哪里?
-
options.helper.setQuery(e.currentTarget.value).addFacetRefinement('ApprovalFL', true).search()可能是init函数中的这一行?也可以尝试使用字符串“true”。 -
@NanduKalidindi 说它期望“;”错误snag.gy/3kRLNv.jpg
-
@NanduKalidindi 我找到了这个参考,但我不确定我应该把它放在哪里参考我的代码:algolia.com/doc/api-reference/api-parameters/facetFilters
标签: javascript algolia