正确使用 Facets 获取 Algolia 搜索结果
Properly using Facets for Algolia Search Results
我有一个包含以下 JSON 键的索引,可以有两个值之一:
ApprovalFL: true
或 ApprovalFL: null
我希望我的搜索结果只显示 ApprovalFL: true
意味着它们已获准在网站上显示的结果。
我尝试研究 Algolia Facet 方法(https://www.algolia.com/doc/guides/searching/faceting/#search-for-facet-values ), but I’m honestly not too sure where to put it in my code, (dev initially set up Algolia…I’m still learning) here’s my relevant javascript: https://jsfiddle.net/vpnvt9vv/1
这是我的代码片段,其余部分可在上面的 link 中找到:
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”。
如果您想查看一个实例,请转到 https://unearthapp.io 并在搜索栏中输入字母 "a" 您将看到来自一位名为 "Turbo" 的艺术家的两个结果当我只想显示 ApprovalFL 为 true 的歌曲时,ApprovalFL 为 null
如果您需要更多信息,请告诉我,谢谢!
您可以使用 facetFilters
并将其设置为 ["ApprovalFL:true"]
根据您的代码结构,您可以将其添加到 searchFunction
或 中的 searchParameters
中,如下所示。理想情况下,您希望在代码中添加一次搜索过滤器,否则代码可能会由于在许多地方的声明而变得不可预测。
var searchSong = instantsearch ({
appId: "---",
apiKey: "---",
indexName: "Song",
searchFunction: function (helper) {
.
.
.
helper.state.facetFilters = ["ApprovalFL:true"];
.
.
.
},
searchParameters: {
hitsPerPage: 30,
facetFilters: ["ApprovalFL:true"]
}
});
我有一个包含以下 JSON 键的索引,可以有两个值之一:
ApprovalFL: true
或 ApprovalFL: null
我希望我的搜索结果只显示 ApprovalFL: true
意味着它们已获准在网站上显示的结果。
我尝试研究 Algolia Facet 方法(https://www.algolia.com/doc/guides/searching/faceting/#search-for-facet-values ), but I’m honestly not too sure where to put it in my code, (dev initially set up Algolia…I’m still learning) here’s my relevant javascript: https://jsfiddle.net/vpnvt9vv/1
这是我的代码片段,其余部分可在上面的 link 中找到:
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”。
如果您想查看一个实例,请转到 https://unearthapp.io 并在搜索栏中输入字母 "a" 您将看到来自一位名为 "Turbo" 的艺术家的两个结果当我只想显示 ApprovalFL 为 true 的歌曲时,ApprovalFL 为 null
如果您需要更多信息,请告诉我,谢谢!
您可以使用 facetFilters
并将其设置为 ["ApprovalFL:true"]
根据您的代码结构,您可以将其添加到 searchFunction
或 中的 searchParameters
中,如下所示。理想情况下,您希望在代码中添加一次搜索过滤器,否则代码可能会由于在许多地方的声明而变得不可预测。
var searchSong = instantsearch ({
appId: "---",
apiKey: "---",
indexName: "Song",
searchFunction: function (helper) {
.
.
.
helper.state.facetFilters = ["ApprovalFL:true"];
.
.
.
},
searchParameters: {
hitsPerPage: 30,
facetFilters: ["ApprovalFL:true"]
}
});