Algolia搜索属性名称

时间:2016-05-10 18:30:37

标签: ruby-on-rails ruby algolia

关于algolia的数据是这样的

objectID:3464542
Type:"Accelerator"
Country:"Germany"
City:null
Name:"ProsiebenSat1 Accelerator Batch #8"

我想搜索德国的任何名字。我是怎么做到的?

当我Contact.raw_search("Batch")时,我会得到所有记录,甚至其名称包括甚至非德语。我想得到所有特定国家的人。

1 个答案:

答案 0 :(得分:7)

为此,您首先需要将Country属性放在attributesForFaceting列表中。您可以使用REST API,您选择的客户端或Algolia Dashboard来实现。使用后一个页面,转到Indices页面,选择索引并单击Display选项卡。在这里,您可以将Country字段添加到Attributes for faceting列表中。之后,单击“保存”,您的索引将重建。

现在,您的索引已准备好根据您所需的国家/地区过滤搜索查询。要执行搜索查询,您可以使用(使用Ruby客户端):

Contact.search("Batch", {
    facets: ["Country"],
    facetFilters: ["Country:Germany"]
})

有关分面的更多信息,请参阅FAQ的快速介绍以及documentation中更详细的指南。