使用 Algolia 自动完成执行分面搜索查询

Perform a facet search query with Algolia autocomplete

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

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

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;
      }
    }
  }
]);

这使用searchForFacetValues方法得到结果。