如果您在Algolia搜索过滤器中使用数组属性,并且不能按预期工作,则可能需要执行以下更改/调整:
确保你在Algolia Dashboard中设置正确的属性。这是在“Filters”部分中完成的。为了正常工作,您需要将属性标记为“Attributes for faceting”。
确保您的属性是一个数组。如果不是,请将其转换为数组。例如,在在JavaScript中,您可以使用以下代码将对象的属性转换为数组:
const objects = [ { name: 'John', interests: 'reading, running' }, { name: 'Jane', interests: 'swimming' }, ];
const interestsArray = objects.map(obj => obj.interests.split(', ')); // outputs: [["reading","running"],["swimming"]]
index.search({ filters: 'interests:(reading OR running)', query: 'John' });
这将会过滤名为"John"的对象,并且他的兴趣包含“reading”或者“running”的对象。
希望这些技巧能够帮助您解决Algolia搜索过滤器中的问题。