У меня есть БД, который должен быть полный текст индексируются, так что я добавил код ниже, чтобы создать один, если он не Allready индексируются:XPages создать полнотекстовый индекс в 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 управления: button2 недвижимости: OnClick
Исключение ошибка при выполнении выражения действия JavaScript com.ibm.jscript.types.GeneratedWrapperObject $ StaticFiel д несовместима с com.ibm.jscript.types.FBSValue
Expression
1: # {JavaScript: если (database.isFTIndexed()) { 2: database.updateFTIndex (ложь) 3:} еще { 4: var options: int = database.FTINDEX_ALL_BREAKS + database.FTINDEX_ATTACHED_FILES + database.FTINDEX_IMMEDIATE 5: database.createFTIndex (опции, true); 6: database.updateFTIndex (false); 7:} 8: sessionScope.put ("ssSelectedView", "vwWFSProfile")}
Он удушье в строке 4 не нравится суммирование параметров. Поэтому я закомментируйте строки 4 и измените строку 5 читать database.createFTIndex (4, правда) тогда я получаю эту ошибку:
Ошибка при выполнении выражения действия JavaScript Script ошибка переводчика, строка = 5, цв = 18: [TypeError] Исключение произошло вызова метода NotesDatabase.createFTIndex (число, булево) нуль
JavaScript код
1: если (database.isFTIndexed()) { 2: database.updateFTIndex (ложь) 3:} else { 4: // параметры var: 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")
Не может показаться, что он работает. Я могу зайти в БД и вручную создать индекс, чтобы это не проблема.
будет попробовать. У меня был единственный фрагмент кода, в котором я установилFTIndexFrequency в Immediate, не понимая, что его нельзя использовать в настройках. Теперь, когда я смотрю на Справку, которую я упустил, проблема Immediate не может быть названа в качестве опции. Это не совсем очевидно, но оно есть. Спасибо –
Я немного по-настоящему запутался. Я создал простой XPage с помощью одной кнопки и этого кода:
if (database.isFTIndexed()) { \t database.updateFTIndex (false) } else { \t database.createFTIndex (0, false); \t database.setFTIndexFrequency (4); \t database.updateFTIndex (false); }
Если Irun это на копии локальной копии, он отлично работает. Если я попытаюсь запустить его на копии сервера, я получаю ошибку 500, и индекс не создается. попробовал использовать database.FTINDEX_ALL_BREAKS, и он терпел неудачу все время, поэтому просто добавил числа. Мне нужно немного отойти от этого, я так расстроен. –