首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何利用衍生小片滤除藻类

如何利用衍生小片滤除藻类
EN

Stack Overflow用户
提问于 2016-03-24 08:31:04
回答 1查看 366关注 0票数 3

鉴于以下指数:

代码语言:javascript
运行
复制
{
    id: 1,
    distance: [4, 10]
},
{
    id: 2,
    distance: [1, 2]
},
{
    id: 3,
    distance: [9, 10]
}

在使distance上的faceting能够在其上应用数字过滤器之后,我想对我将称为distance_range的派生属性应用额外的筛选。它通过现有属性上的自定义逻辑导出其值,例如:

代码语言:javascript
运行
复制
// In JS:
distance_range: Math.floor(( distance - 0.5 ) / 5) * 5 + "-" + Math.ceil(( distance ) / 5) * 5

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

代码语言:javascript
运行
复制
{
    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"]
}

得出这样一个指数的最佳方法是什么?我是否预先对数据进行了处理,还是有这样一个特性来动态地转换属性?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-24 09:53:25

Algolia使用自定义数据结构对数据进行索引,以便尽可能快地交付结果。

实时重建一个指数太长,无法得到答案,这就是为什么,即使对排序,阿尔戈里亚需要将数据复制到多个索引中。

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

但是,由于您希望对其进行筛选,Algolia需要数据结构中的这些信息,因此您必须事先完成此计算。

另外,不要忘记将这个新属性添加到attributesForFaceting中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36195934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档