我正在工作中处理一个Symfony项目,并且我们正在使用Lucene作为搜索引擎。我试图在单元测试中使用SQLite内存数据库(我们正在使用MySQL),但是我遇到了一些问题。
该项目的搜索引擎部分使用Lucene索引。基本上,您可以查询它并获得一个有序的ID列表,然后您可以使用Where In()子句查询您的数据库。问题在于查询中有一个ORDER BY Field(id, ...)子句,它按与Lucene返回结果相同的顺序排序结果。
是否有任何替代ORDER BY Field的SQLite方法?或者是否有其他方法以与Lucene相同的方式对结果进行排序?
谢谢 :)
编辑:
简化查询可能如下所示:
该项目的搜索引擎部分使用Lucene索引。基本上,您可以查询它并获得一个有序的ID列表,然后您可以使用Where In()子句查询您的数据库。问题在于查询中有一个ORDER BY Field(id, ...)子句,它按与Lucene返回结果相同的顺序排序结果。
是否有任何替代ORDER BY Field的SQLite方法?或者是否有其他方法以与Lucene相同的方式对结果进行排序?
谢谢 :)
编辑:
简化查询可能如下所示:
SELECT i.* FROM item i
WHERE i.id IN(1, 2, 3, 4, 5)
ORDER BY FIELD(i.id, 5, 1, 3, 2, 4)