【发布时间】:2018-03-05 11:52:36
【问题描述】:
我的 Angular 应用程序中有一个功能,其中我的 Algolia 数据库中存在一些可搜索的项目。问题是......它们不能被任何字符串搜索。它们只能通过构面进行搜索。
问题是,当我使用空字符串 + 我的搜索过滤器/构面运行我的初始 .search() 函数时,我得到了一个返回列表,一切都很好而且花花公子。但是,当我再次运行该函数以刷新列表时,它只会返回相同的结果并且实际上从未触发新请求,除非我更改其中一个过滤器/方面。
有什么方法可以在我想要的任何时候强制进行搜索查询,而不必指定“新”搜索条件?
这是我的搜索功能:
searchForAuditions() {
// Setup the filters/options
let options = {
highlightPreTag: '<span class="highlighted">',
highlightPostTag: '</span>',
hitsPerPage: 10,
};
// Add clause to make sure "is_deleted" is false
let isDeleted = ` is_deleted: "false"`;
let facets = `${isDeleted}`;
// Replace all trailing spaces and split it into an array
let facetWords = facets.replace(/\s+$/, '').split(" ");
// Remove trailing "AND"
if((facetWords[facetWords.length - 1] === "AND") || (facetWords[facetWords.length - 1] === "OR")) {
facetWords.splice(-1, 1);
facets = facetWords.join(' ');
}
if(facets) {
options['filters'] = facets;
}
this.auditionsIndex.search('', options).then(result => {
this.results = result.hits;
})
}
提前致谢!
【问题讨论】:
标签: javascript angularjs algolia