Javascript 正确使用Algolia搜索结果的面
我有一个带有以下JSON键的索引,可以有两个值:Javascript 正确使用Algolia搜索结果的面,javascript,algolia,Javascript,Algolia,我有一个带有以下JSON键的索引,可以有两个值: ApprovalFL:true或ApprovalFL:null 我希望我的搜索结果只显示那些已被批准在网站上显示的结果 我试着研究Algolia方面的方法(),但老实说,我不太确定将它放在我的代码中的什么地方(开发人员最初设置Algolia…我还在学习)下面是我的相关javascript: 以下是我的代码片段,其余部分可在上面的链接中找到: var searchSong = instantsearch ({ appId:
ApprovalFL:true
或ApprovalFL:null
我希望我的搜索结果只显示那些已被批准在网站上显示的结果
我试着研究Algolia方面的方法(),但老实说,我不太确定将它放在我的代码中的什么地方(开发人员最初设置Algolia…我还在学习)下面是我的相关javascript:
以下是我的代码片段,其余部分可在上面的链接中找到:
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仪表板页面中添加了“attributesforFaceting”的键
如果你想看一个活生生的例子,在搜索栏中输入字母“a”,你会看到一个名为“Turbo”的艺术家的两个结果,当我只想显示ApprovalFL为true的歌曲时,ApprovalFL为null
如果您需要更多信息,请告诉我,谢谢 您可以使用
facetFilters
并将其设置为[“ApprovalFL:true”]
从代码结构中,您可以将其添加到搜索功能中或搜索参数中,如下所示。理想情况下,您希望在代码中添加一次搜索过滤器,否则由于在许多地方声明,代码可能变得不可预测
var searchSong = instantsearch ({
appId: "---",
apiKey: "---",
indexName: "Song",
searchFunction: function (helper) {
.
.
.
helper.state.facetFilters = ["ApprovalFL:true"];
.
.
.
},
searchParameters: {
hitsPerPage: 30,
facetFilters: ["ApprovalFL:true"]
}
});
您是否尝试将facetFilters
设置为[“ApprovalFL:true”]
?试着把它放在searchFunction
或searchParameters
@NanduKalidindi我想我的问题是,我应该把它放在哪里?options.helper.setQuery(e.currentTarget.value).addFaceDefinition('ApprovalFL',true)。search()
可能是init
函数中的这一行吗?请尝试使用字符串“true”。@NanduKalidindi说它期望“;”error@NanduKalidindi我找到了此引用,但我不确定在引用代码时将其放在何处: