据我所知,您只能对Algolia中的数字字段进行排序,那么如何有效地设置记录以允许根据特定的字符串字段按字母顺序返回结果?
例如,假设您在索引中的每个记录中都有一个名为“title”的字段,其中包含任意字符串值。你将如何创建一个名为“title_sort”的兄弟字段,其中包含一个数字,允许对结果进行排序,使记录按字母顺序排列“标题”?是否有一种特别被广泛接受的算法用于从“标题”中的字符串创建这样的数字?
答案 0 :(得分:0)
如果您有静态数据集,那么您可以对数据进行排序并在其上添加索引。只要每次更新索引时对数据进行排序,这都有效。
我也在想,如果你可以处理部分排序,这意味着你可以接受orc < orb
但是你需要or < os
,那么你可以派出一个可以使用base64作为我们的索引。然后,您可以将其排序为与精度相同的字符数。它只是部分排序,但对于您的用例可能是可接受的。你只需要映射你的base64 - &gt; base10映射以适应排序。
此外,如果您不关心大写和小写字母之间的区别,那么您可以执行base26 - &gt; base10。我想的越多,它就越有限,但它可能适用于你的用例。