我有成千上万的音乐曲目索引.为了搜索,我想通过曲目标题升序返回曲目.
我还有一个created_at字段,它是我将曲目添加到库的日期时间.我可以动态改变排名吗?
因此,对于我在查询之前的常规艺术家/标题搜索,我会运行:
index.setSettings({
ranking: [
"asc(title)",
"asc(artist)"
]
});
Run Code Online (Sandbox Code Playgroud)
然后,当我想要返回我最近添加到数据库的轨道时,我会运行:
index.setSettings({
ranking: [
"desc(created_at)",
"asc(title)",
"asc(artist)"
]
});
Run Code Online (Sandbox Code Playgroud)
我的问题是:这是表现好吗?对每个查询执行此操作是否有任何不足之处?
感谢您的建议!
Algolia在索引时排序数据,而不是查询时间.这就是你必须使用这种方法的原因setSettings.如果这样做,每次设置新设置时都会使用所有数据.
解决方案是使用副本.它们是主索引的副本,排序方式不同.
您可以在此处找到相关文档:https: //www.algolia.com/doc/guides/relevance/sorting/#multiple-sorting-strategies
| 归档时间: |
|
| 查看次数: |
404 次 |
| 最近记录: |