2015-12-30 64 views
1

當我們使用ftSearch嘗試typeahead時,需要很長時間才能完成(顯示在屏幕上)。 ftsearch同時完成XPages typeheadhead花費時間過長

[0D88:000B-0B44] 30.12.2015 10:03:06 HTTP JVM: Start= 30.12.2015 10:03 
[0D88:000B-0B44] 30.12.2015 10:03:06 HTTP JVM: Finish= 30.12.2015 10:03 

但是,在具有typeahead屬性的輸入框中,結果會返回超過5秒。我的意思是它需要太長時間。

有任何建議如何減少時間

'fldDefName = inthe inputbox there is a option for ftSearch named "Var" colNumber = Column Number for results. I generally user [0] 
function getTypeAheadList(vName,frmName,fldName,fldDefName,colNumber) 
{ 
var searchView:NotesView = database.getView(vName);' 
    var query = "(FIELD Form CONTAINS "+ frmName + " AND FIELD " + fldName + " CONTAINS *" + fldDefName +"*)"; 
    print("Query= "+query); 
    var searchOutput:Array = ["å","åå"]; 
    var hits = searchView.FTSearch(query); 
    var entries = searchView.getAllEntries(); 
    var entry = entries.getFirstEntry(); 

    for (i=0; i<hits; i++) 
    { 
     searchOutput.push(entry.getColumnValues()[colNumber]); 
     entry = entries.getNextEntry(); 
    } 
    searchOutput.sort(); 

    var result ="<ul><li><span class='informal'></span></li>"; 
    var limit = Math.min(hits,50); 

    for (j=0; j<limit; j++) 
    { 
     var name = searchOutput[j].toString(); 
     var start = name.indexOfIgnoreCase(lupkey) 
     var stop = start + lupkey.length; 

     name = name.insert("</b>",stop).insert("<b>",start); 
     result += "<li>" + name + "</li>"; 
    } 

    result += "</ul>"; 
    return result; 

回答

3

減少將由FTSearch與

var hits = searchView.FTSearch(query, 50); 

返回到50份文檔數眼下搜索結果可能包含例如5000文檔,需要時間將其推送到searchOutput並進行排序。無論如何,你將提示減少到50 ...

+0

我會盡力的。謝謝 –