使用 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)