• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Запрос Для Ftsearch

  • Автор темы ezhov
  • Дата начала
E

ezhov

continue;

и итерирование коллекции не происходит
к тому же - в java надо делать recycle неиспользуемым объектам нотуса (это для избежания мемориликов)

Вы имеете ввиду так как чуть выхе предлагали сделать ?:

<!--shcode--><pre><code class='java'>private lotus.domino.Document findByDepID1(String depID) throws NotesException, IOException {

if(depID==null || depID.equals("")){
log("findByDepID1: depID is Nothing or Empty");
return null;
}

if(view1==null){
log("findByDepID1: view1 is Nothing");
return null;
}

log("findByDepID1: depID = " + depID);

DocumentCollection dc = view1.getAllDocumentsByKey(depID);

if(dc.getCount()==0) {
log("findByDepID1: Collection <dc> by key depID is empty !");
dc.recycle;
return null;
}
boolean isMoreThanOne = false;
lotus.domino.Document tmpdoc = null;
lotus.domino.Document doc = dc.getFirstDocument();

while (doc!=null) {
if (!doc.isDeleted()) {
if (tmpdoc==null){
tmpdoc = doc;
}else{
isMoreThanOne = false;
break;
}
}
doc = dc.getNextDocument(doc);
}

if (isMoreThanOne) {
if (tmpdoc!=null) tmpdoc.recycle;
if (doc!=null) doc.recycle;
if (dc!=null) dc.recycle;
log("findByDepID1: There are more than one departament in DB with id = " + depID);
throw new RuntimeException("Error. There are more than one departament in DB with id = " + depID);
}else{
if (tmpdoc==null){
if (doc!=null) doc.recycle;
if (dc!=null) dc.recycle;
log("findByDepID1: There is no available(not conflict) doc with id = " + depID);
return null;
}else{
if (dc!=null) dc.recycle;
return tmpdoc;
}
}
}[/CODE]
 

Darkhan

Green Team
14.12.2012
99
2
BIT
0
Именно по этой причине я предложил этот вариант, теперь Вам необходимо переделать метод findByTabNum1 по аналогии с findByDepID
 

VladSh

начинающий
Lotus Team
11.12.2009
1 786
157
BIT
81
ezhov

Пример рабочих классов-итераторов здесь.

P.S. Если дискуссия по Java, то лучше бы её вести в профильном разделе.
 

savl

Lotus Team
28.10.2011
2 601
312
BIT
216
VladSh
не, тут вопрос был ухода от FTSearch на более быстрое решение.
 

seoman2

Green Team
17.02.2010
507
1
BIT
70
Есть два дока с полями поле1 = "123" и поле1 = "123-45"
Вопрос, как сделать запрос FTSearch, чтобы находить только документ с поле1 = "123" ?
formula = {Field поле1= "123"} находит оба документа.
ищу
FTSearch(formula,0)
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
возможно стоит разобраться с доп. параметрами в методе .FTSearch? :)
 
  • Нравится
Реакции: seoman2

seoman2

Green Team
17.02.2010
507
1
BIT
70
FTSearch(formula,0,FT_SCORES,FT_STEMS) не работает. Выдает последним в коллекции самое точное вхождение, а точнее, не заметил зависимости.
 
Последнее редактирование:
30.05.2006
1 345
12
BIT
0
Есть два дока с полями поле1 = "123" и поле1 = "123-45"
Вопрос, как сделать запрос FTSearch, чтобы находить только документ с поле1 = "123" ?
formula = {Field поле1= "123"} находит оба документа.
ищу
FTSearch(formula,0)
formula = {Field поле1= """123"""} ?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!