Sphinx 2.0.6 を使用して、ドキュメント ID に基づいて特定の順序を sphinx に返す方法はありますか?
たとえば、ID が 1 ~ 1000 のドキュメントが 1000 個あるとします。でもID999、1000、4、5、2…の順番で返したい。
この使用例:ポジショニングは動的であり、Sphinx を介して行う必要があります。ポジショニング値は、オンザフライで変更できる属性である必要があります。これもページ化されているため、単純に ID セットを収集して SQL を要求することはできません。Sphinx 自体は、指定した特定の順序を返す必要があります。
$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() をサポートしていないようです。
このタスクを完了する方法はありますか? 私は今途方に暮れており、助けを借りることができます!