2013-12-10 2 views
0

에서 전체 텍스트 인덱스를 생성, 그래서는 allready 색인되지 않은 경우 나는 하나를 만들기 위해 코드 아래에 추가 :XPages 내가 전체 텍스트 색인이어야 DB를 SSJS

if (database.isFTIndexed()){ 
    database.updateFTIndex(false) 
} else { 
    var options:int = database.FTINDEX_ALL_BREAKS + database.FTINDEX_ATTACHED_FILES + database.FTINDEX_IMMEDIATE 
    database.createFTIndex(options , true); 
    database.updateFTIndex(false); 
} 
sessionScope.put("ssSelectedView","vwWFSProfile") 

을 그것이 내가 얻을 실행하면 다음과 같은 오류 : 오류 원본 페이지 이름 : /xpWFSAdmin.xsp 제어 ID : 단추 2 재산권 : 온 클릭

예외 오류 실행 자바 스크립트 액션 표현 com.ibm.jscript.types.GeneratedWrapperObject $ StaticFiel 동안 # {스크립트 : 만약 (database.isFTIndexed()) { 2 database.updateFTIndex (FALSE) 3} 다른 com.ibm.jscript.types.FBSValue

한 식 D와 호환 { 4 : var 옵션 : int = database.FTINDEX_ALL_BREAKS + database.FTINDEX_ATTACHED_FILES + database.FTINDEX_IMMEDIATE 5 : database.createFTIndex (options, true); 6 : database.updateFTIndex (false); 7} 8 sessionScope.put는 ("ssSelectedView", "vwWFSProfile는")}

그것은 라인 (4)에 질식는 파라미터의 합산을 좋아하지 않는다. 그래서 가 나는이 오류가 (사실 4) database.createFTIndex을 읽을 수 5 4 호선과 변화 라인을 주석 :

동안 오류가 실행 자바 스크립트 액션 표현 스크립트 인터프리터 오류, 라인 = 5, COL = 18 : [형식 오류] 예외 호출 발생 방법 NotesDatabase.createFTIndex (숫자, 부울) 널

자바 스크립트 코드

1 경우 (database.isFTIndexed()) { 2 database.updateFTIndex (FALSE) 3} else { 4 : // var options : int = database.FTINDEX_ALL_BREAKS + database.FTINDEX_ATTACHED_FILES + database.FTINDEX_IMMEDIATE 5 : database.createFTIndex (4, true); 6 : database.updateFTIndex (false); 7 :} 8 : sessionScope.put ("ssSelectedView", "vwWFSProfile")

작동하지 않는 것 같습니다. DB에 들어가서 수동으로 색인을 생성하여 권한 문제가되지 않도록 할 수 있습니다.

답변

3

필자는 도움말에서 읽을 수있는 한 setFTIndexFrequency()에 대해서만 createFTIndex() 매개 변수로 database.FTINDEX_IMMEDIATE를 사용할 수 없습니다.

그래서 database.FTINDEX_IMMEDIATE의 사용을 제거하고이 작업을 수행 : 당신은 다음과 같은 setFTIndexFrequency()를 호출 할 수 있습니다

var options:int = database.FTINDEX_ALL_BREAKS + database.FTINDEX_ATTACHED_FILES; 
database.createFTIndex(options , true); 

:

database.setFTIndexFrequency(database.FTINDEX_IMMEDIATE); 
+0

그렇게 할 것입니다. Immediate로 setFTIndexFrequency를 사용하여 옵션에서 사용할 수 없다는 사실을 깨닫지 못한 코드가 하나있었습니다. 이제는 즉각적인 문제를 간과 한 헬프를 옵션으로 볼 수 없었습니다. 정말 분명하지는 않지만 거기에 있습니다. 감사합니다 –

+0

나는 조금 더 혼란스러워했습니다. 단추와이 코드를 사용하여 간단한 XPage를 만들었습니다.
if (database.(0));\t 데이터베이스. \t database.setFTIndexFrequency (4); \t database.updateFTIndex (false); }
Irun을 로컬 복제본 복사본에 적용하면 정상적으로 작동합니다. 서버 복사본에서 실행하려고하면 500 오류가 발생하고 인덱스가 만들어지지 않습니다. database.FTINDEX_ALL_BREAKS를 사용해 보았는데 항상 실패 했으므로 숫자가 추가되었습니다. 나는 이걸 잠시 벗어나야 만한다. 나는 너무 좌절한다. –

관련 문제