Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正确使用Algolia搜索结果的面_Javascript_Algolia - Fatal编程技术网

Javascript 正确使用Algolia搜索结果的面

Javascript 正确使用Algolia搜索结果的面,javascript,algolia,Javascript,Algolia,我有一个带有以下JSON键的索引,可以有两个值: ApprovalFL:true或ApprovalFL:null 我希望我的搜索结果只显示那些已被批准在网站上显示的结果 我试着研究Algolia方面的方法(),但老实说,我不太确定将它放在我的代码中的什么地方(开发人员最初设置Algolia…我还在学习)下面是我的相关javascript: 以下是我的代码片段,其余部分可在上面的链接中找到: var searchSong = instantsearch ({ appId:

我有一个带有以下JSON键的索引,可以有两个值:

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我找到了此引用,但我不确定在引用代码时将其放在何处: