2

在 Algolia 上,我正在尝试随机排序……有可能吗?
我也尝试查询字段是否不存在。我尝试了类似
......但我不确定它是否可能。facetsmy_attribut:null

你能帮助我吗?

感谢

4

1 回答 1

2

随机排序

尽管在排名公式中使用随机顺序可能是有意义的,但它与引擎的构建方式不兼容。通过专注于速度 + 针对性,Algolia 的引擎进行了一些权衡,因为它在索引时预先计算了大量信息,因此不可能在每个查询中随机化。此外,它会破坏任何分页。

但是,您可以在收到结果后对结果进行洗牌,这样您就可以进行正确的分页。

使用shuffle这个问题的方法How can I shuffle an array?

function shuffle (o){
  for(var j, x, i = o.length; i; j = Math.floor(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
  return o;
}

使用JavaScript 客户端

index.search('something', function searchDone(err, content) {
  content.hits = shuffle(content.hits);
  // Use them
});

使用JavaScript 助手

helper.on('result', function (data){
  data.hits = shuffle(data.hits);
  // Use them
});

查询不存在的属性

用 Algolia 做这样的事情的唯一方法是推送一个您认为是的值null(例如null字符串或-1正整数)。

于 2015-10-14T13:49:41.137 回答