gpt4 book ai didi

algolia - 如何按 algolia 中的派生方面进行过滤

转载 作者:行者123 更新时间:2023-12-01 13:45:58 26 4
gpt4 key购买 nike

给定以下指标:

{
id: 1,
distance: [4, 10]
},
{
id: 2,
distance: [1, 2]
},
{
id: 3,
distance: [9, 10]
}

distance 上启用分面以便能够对其应用数值过滤器后,我想对派生属性应用额外的过滤,我将其称为 distance_range。它通过现有属性的自定义逻辑获得其值(value),例如:

// In JS:
distance_range: Math.floor(( distance - 0.5 ) / 5) * 5 + "-" + Math.ceil(( distance ) / 5) * 5

这会将每个距离数字转换为范围“0-5”、“5-10”等。

{
id: 1,
distance: [4, 10],
distance_range: ["0-5", "5-10"]
},
{
id: 2,
distance: [1, 2]
distance_range: ["0-5"]
},
{
id: 3,
distance: [9, 10]
distance_range: ["5-10"]
}

得出这样一个指数的最佳方法是什么?我是否预先处理了数据,或者 algolia 是否具有动态转换属性的功能?

最佳答案

Algolia 使用自定义数据结构为您的数据编制索引,以便尽快提供结果。
实时重建索引的时间太长,无法得到答案,这就是为什么即使是排序,Algolia requires you to duplicate your data into multiple indices .

如果你只需要计算显示的新属性,它肯定可以通过前端逻辑实现,两者都是autocomplete.jsinstantsearch.js有一种在显示数据之前转换数据的方法。

但是,由于您要对其进行过滤,Algolia 需要在数据结构中提供此信息,因此您必须事先进行此计算。
另外,不要忘记将此新属性添加到 attributesForFaceting .

关于algolia - 如何按 algolia 中的派生方面进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36195934/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com