我实际上正在开发一个Symfony项目,我们正在使用Lucene作为我们的搜索引擎。 我试图使用SQLite内存数据库进行单元测试(我们正在使用MySQL),但是我偶然发现了一些东西。按字段与SQLite排序
该项目的搜索引擎部分使用Lucene索引。基本上,您可以查询它并获得有序的ID列表,您可以使用Where In()子句来查询数据库。 问题是查询中有一个ORDER BY Field(id,...)子句,它以与Lucene返回的结果相同的顺序对结果进行排序。
是否有任何替代ORDER BY字段使用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)
请问您能否通过样品查询澄清? – Youssef 2010-06-22 09:33:13
http://cakebaker.42dh.com/2008/06/10/order-by-field/解释了这个MySQL特有的语法是关于什么的。 – 2010-06-22 10:08:50
这看起来像一个类似的问题与更简单的答案: http://stackoverflow.com/questions/3303851/sqlite-and-custom-order-by – bmaupin 2011-08-11 20:28:20