我正在使用elastica,以下是我的查询:
$query = new Query();
$query->setSize(5);
$qb = new \Elastica\Query\Ids();
$qb->addId("id_5");
$qb->addId("id_3");
$qb->addId("id_4");
$qb->addId("id_1");
$qb->addId("id_2");
return $query->setQuery($qb)
我希望结果返回的顺序与我传入的顺序相同,例如在这种情况下,它将是“id_5,id_3,id_4,id_1,id_2”
然而,我得到的是排序与我想要的不一样答案 0 :(得分:1)
我认为这是两个解决方案 1.如果您将id作为文档的一部分,那么您可以
{
"mappings": {
"YOUR_TYPE": {
"_id": {
"index": "not_analyzed"
}
}
}
}
如果没有,则需要更新类型的映射
duplicate
然后你可以使用&#34;脚本&#34;:&#34; sortOrder.indexOf(doc [&#39; _id&#39;]。value)&#34; < / p>