【发布时间】:2017-04-27 23:34:52
【问题描述】:
我将 Algolia API 与 PHP 一起使用,目前我有 4 个索引(每个 DB 表一个,因为它们 recommend)。
提交搜索时,我正在使用 multipleQueries query 搜索所有索引,但问题是在结果集中,每个索引都经过排名并返回其自己的方面,然后必须以某种方式组合,然后才能显示.
有没有办法在搜索时指定全局排名策略,以避免在得到结果后手动执行?
【问题讨论】:
我将 Algolia API 与 PHP 一起使用,目前我有 4 个索引(每个 DB 表一个,因为它们 recommend)。
提交搜索时,我正在使用 multipleQueries query 搜索所有索引,但问题是在结果集中,每个索引都经过排名并返回其自己的方面,然后必须以某种方式组合,然后才能显示.
有没有办法在搜索时指定全局排名策略,以避免在得到结果后手动执行?
【问题讨论】:
寻求“每个 DB 表 1 个索引”可能不是最终答案,这取决于您的具体用例以及您打算提供的 UI。
在电影和演员的情况下,您不能真正期望为两者提供独特的 UI:您可以应用于电影的方面不太可能也可以应用于演员。在这种情况下,单独的索引是可行的方法。
如果您打算合并结果或对所有索引使用一组构面值,那么您可能应该选择唯一的大索引。因为 Algolia 是无模式的,所以您甚至不必让所有记录都具有严格相同的结构。
如果您坚持使用单独的索引,很遗憾,如果不对前端引擎排名策略的重要部分进行重新编码,就无法做到这一点。
【讨论】: