关于algolia的数据是这样的
objectID:3464542
Type:"Accelerator"
Country:"Germany"
City:null
Name:"ProsiebenSat1 Accelerator Batch #8"
我想搜索德国的任何名字。我是怎么做到的?
当我Contact.raw_search("Batch")
时,我会得到所有记录,甚至其名称包括甚至非德语。我想得到所有特定国家的人。
答案 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中更详细的指南。