使用 Algolia 的数值过滤器时如何使用 AND 和 OR
How to use AND and OR when using Algolia's numerical filter
考虑一个充满对象的 Algolia 索引:
{
"objectID": 1,
"name": "My project title",
"contributor_ids": [12, 42, 34]
}
此查询是否获取具有 contributor_ids 42 或 contributor_ids=12 的所有对象?
"numericFilters: 'contributor_ids=42, contributor_ids=12"
如果是这样,获取所有具有 contributor_ids 42 AND contributor_ids=12 的对象的正确查询是什么?
默认行为是 AND,您可以使用带括号的 OR:
numericFilters: "contributor_ids=42, contributor_ids=12"
表示contributor_ids=42 AND contributor_ids=12,仅当您有包含这两个值的记录时才匹配
numericFilters: "(contributor_ids=42, contributor_ids=12)"
表示 contributor_ids=42 或 contributor_ids=12
numericFilters: "contributor_ids=10,(contributor_ids=42, contributor_ids=12)"
表示 contributor_ids=10 AND (contributor_ids=42 OR contributor_ids=12)
考虑一个充满对象的 Algolia 索引:
{
"objectID": 1,
"name": "My project title",
"contributor_ids": [12, 42, 34]
}
此查询是否获取具有 contributor_ids 42 或 contributor_ids=12 的所有对象?
"numericFilters: 'contributor_ids=42, contributor_ids=12"
如果是这样,获取所有具有 contributor_ids 42 AND contributor_ids=12 的对象的正确查询是什么?
默认行为是 AND,您可以使用带括号的 OR:
numericFilters: "contributor_ids=42, contributor_ids=12"
表示contributor_ids=42 AND contributor_ids=12,仅当您有包含这两个值的记录时才匹配
numericFilters: "(contributor_ids=42, contributor_ids=12)"
表示 contributor_ids=42 或 contributor_ids=12
numericFilters: "contributor_ids=10,(contributor_ids=42, contributor_ids=12)"
表示 contributor_ids=10 AND (contributor_ids=42 OR contributor_ids=12)