Algolia 键值搜索
Algolia Key Value Search
我目前正在使用 Algolia 搜索 API,但我无法弄清楚如何通过 key
value
搜索 + 查询字符串来限制结果。我的意思是这个。
我有一个属性列表。
每个 属性 属于一个客户。
在应用程序中如果我正在查看客户信息卡并且我想搜索客户拥有的 属性 将结果限制为客户然后查找查询会更有意义字符串.
我正在使用 MongoDB 作为我的数据库,并将客户端 ID 存储为子文档,就像这样
//Property Document
{
_id : "randomID"
client : {
_id : "randomID",
name : "ClientName"
}
}
有一个名为restrictSearchableAttributes
[link]的参数限制在查询时,只搜索某些属性。不过,在你的情况下,我认为你可以通过将每个 client info
放入不同的记录(+ 相关文档的信息)来获得更准确的结果。
如果您想将搜索限制到特定的 client
,我会进行分面过滤以将搜索限制到该客户端。
- 在您的索引设置
attributesForFaceting
中添加client._id
- 使用
facetFilters=client._id:MYCLIENTID
查询参数过滤您的搜索
然后,您还应该看看 Secured API keys 能够以安全的方式对此类限制进行编码(因此 end-user 无法修补 JS 代码和 work-around过滤)。
我目前正在使用 Algolia 搜索 API,但我无法弄清楚如何通过 key
value
搜索 + 查询字符串来限制结果。我的意思是这个。
我有一个属性列表。 每个 属性 属于一个客户。
在应用程序中如果我正在查看客户信息卡并且我想搜索客户拥有的 属性 将结果限制为客户然后查找查询会更有意义字符串.
我正在使用 MongoDB 作为我的数据库,并将客户端 ID 存储为子文档,就像这样
//Property Document
{
_id : "randomID"
client : {
_id : "randomID",
name : "ClientName"
}
}
有一个名为restrictSearchableAttributes
[link]的参数限制在查询时,只搜索某些属性。不过,在你的情况下,我认为你可以通过将每个 client info
放入不同的记录(+ 相关文档的信息)来获得更准确的结果。
如果您想将搜索限制到特定的 client
,我会进行分面过滤以将搜索限制到该客户端。
- 在您的索引设置
attributesForFaceting
中添加client._id
- 使用
facetFilters=client._id:MYCLIENTID
查询参数过滤您的搜索
然后,您还应该看看 Secured API keys 能够以安全的方式对此类限制进行编码(因此 end-user 无法修补 JS 代码和 work-around过滤)。