使用Sphinx 2.0.6,有没有办法让狮身人面像根据文档ID返回特定的订单?狮身人面/ PHP:狮身人面像可以返回给定数组的匹配顺序吗?
例如,假设有1000个文档都有id 1-1000。但是我想要返回,依次为ID 999,1000,4,5,2等等。
此用例:定位是动态的,需要通过Sphinx完成。定位值需要作为可以即时更改的属性。这也是分页 - 所以我不能简单地收集ID集并请求一个SQL。狮身人面像本身需要返回我给它的特定顺序。
$cl->setSelect("*,FIND_IN_SET(id,".implode($id_array).") AS id_position");
$cl->SetSortMode(SPH_SORT_EXTENDED, 'id_position DESC');
$cl->setSelect("*,FIELD(id,".implode($id_array).") AS id_position");
$cl->SetSortMode(SPH_SORT_EXTENDED, 'id_position DESC');
不幸的是,看起来像Sphinx支持FIELD()和FIELD_IN_SET()。
任何想法如何完成此任务?我现在处于亏损状态,可以使用帮助!
是的,我需要保持数组结构。 – CrazyVipa