使用Algolia自动完成功能执行构面搜索查询

时间:2018-02-08 09:16:51

标签: autocomplete algolia faceted-search

我的索引对象有一个city字段,我想用自动完成检索这些字段,但是关于如何执行查询的文档似乎缺失(只有基本的搜索文档可用),我找到了一个原型{{ 1 {} IndexCore.prototype.searchForFacetValues但我不知道使用它。

1 个答案:

答案 0 :(得分:10)

您应该可以使用以下来源:

declare @param_value_from_hour varchar(20) = '18:00'
declare @myTable Table (Shift int, From_Hour time, To_Hour time)

insert into @myTable (Shift, From_Hour, To_Hour) values (1, '7:00:00', '18:00:00')
insert into @myTable (Shift, From_Hour, To_Hour) values (2, '18:00:00', '7:00:00')

 Select * from @myTable
where
   (@param_value_from_hour >= From_Hour and @param_value_from_hour < To_Hour) or
   (To_Hour < From_Hour and
   (@param_value_from_hour < To_Hour or
    From_Hour <= @param_value_from_hour)
   )

这使用var client = algoliasearch("YourApplicationID", "YourSearchOnlyAPIKey"); var index = client.initIndex("YourIndex"); autocomplete("#search-input", { hint: false }, [ { source: function(query, callback) { index .searchForFacetValues({ facetName: "countries", facetQuery: query }) .then(function(answer) { callback(answer.hits); }) .catch(function() { callback([]); }); }, displayKey: "my_attribute", templates: { suggestion: function(suggestion) { return suggestion._highlightResult.my_attribute.value; } } } ]); 方法获取结果。