LS代理搜索文档结果的排序有关问题

LS代理搜索文档结果的排序问题

Dim vc As NotesDocumentCollection
Dim view As NotesView
Set view = db.GetView("视图名")
Dim formula As String

'对nsf数据库中的文档的搜索主要有以下几种方式:
formula = {Form = "mainform" & sys_SoftDelete != "1"}
db.Search(formula,Nothing,0)
formula = { FIELD Form Contains mainform and not Field sys_SoftDelete  Contains "1"} 
vc.Ftsearch(formula, 0) 
vc = view.GetAllDocumentsByKey(SearchKey,true) 
vc = view.GetAllEntriesByKey(SearchKey ,True)

其中GetAllDocumentsByKey和GetAllEntriesByKey依赖于视图,GetAllDocumentsByKey搜索结果不保留视图的排序,GetAllEntriesByKey搜索结果保留视图的排序。
但实际应用中模糊搜索比按指定个数的关键字搜索更常用到,比如:列出一堆输入框,输入值非空时才算一个搜索条件,为空时忽略。但是db.Search和vc.Ftsearch的搜索结果都不能按指定n个域来排序,这让我灰常纠结LS代理搜索文档结果的排序有关问题
网上搜了下,有个方法说是把搜索结果放进一个已设计好排序的文件夹,然后再输出。这个方法倒是能有序输出,但文件夹要先建好,搜索一次并输出后不能删了文件夹,否则下一次运行LS代理就没有这个排好序的文件夹;但如果不删文件夹,搜索很多次以后,文件夹里的文档就越来越多了,就输出了不符合当前搜索条件的以前搜出来的文档,肿么办?
我现在灰常想写SQL语句select * from tablename order by 1 asc,2 desc,3 怎么破?LS代理搜索文档结果的排序有关问题
lotusscript 排序

------解决方案--------------------
你用代码对返回的这个vc进一步排序即可(可以用那些经典排序算法,比如冒泡排,快速排序),到网上搜一下: domino/notes sort search documentcollection ,比如这个:
http://www-10.lotus.com/ldd/46dom.nsf/55c38d716d632d9b8525689b005ba1c0/02b266a5e5d6b90185256bbf0076813b?OpenDocument
------解决方案--------------------
不要这么说,毕竟每个系统都有其擅长的部分。如果你的database不需要full text index的话删掉database的index,然后用notesView.FTSearch,搜索结果和view的排序就一样了。