Проблема с поиском с @contains

seoman2

Well-Known Member
Lotus team
#1
В базе есть часть документов с полем СОДЕРЖАНИЕ или с полем СОДЕРЖАНИЕ_

Делаю свой поиск, чтобы искать текст из sСОДЕРЖАНИЕ сразу по обим полям.

formula$ = formula$+{@Contains(@LowerCase(СОДЕРЖАНИЕ):@LowerCase(СОДЕРЖАНИЕ_); @LowerCase("} & uidoc.FieldGetText("sСОДЕРЖАНИЕ") & {"))}

Set dc = db.Search(formula$,Nothing,0)

Результат 0 доков.
 

Anatoly

Well-Known Member
Lotus team
30.03.2007
221
0
55
Волгоград
#4
formula$ = formula$+{@Contains(@LowerCase(СОДЕРЖАНИЕ):@LowerCase(СОДЕРЖАНИЕ_); @LowerCase("} & uidoc.FieldGetText("sСОДЕРЖАНИЕ") & {"))}
Если formula$ - корректное логическое выражение и не содержит в конце логического оператора "&", то вряд-ли его конкатенация с чем либо вернет корректное логическое выражение


Добавлено:
надеюсь, поле СОДЕРЖАНИЕ и поле СОДЕРЖАНИЕ_ не рт?
Это было-бы круто... :)
 

Kizarek86

Well-Known Member
Lotus team
20.07.2007
861
6
31
Россея матушка!)
#10
Ну так вроде @Text работает на RT поля.

Попробуйте так:

Код:
formula$ = formula$+{@Contains(@LowerCase(@text(СОДЕРЖАНИЕ)):@LowerCase(@text(СОДЕРЖАНИЕ_)); @LowerCase("} & uidoc.FieldGetText("sСОДЕРЖАНИЕ") & {"))}
 

seoman2

Well-Known Member
Lotus team
#13
formula$ = formula$+{@Contains(@LowerCase(СОДЕРЖАНИЕ):@LowerCase(СОДЕРЖАНИЕ_); @LowerCase("} & uidoc.FieldGetText("sСОДЕРЖАНИЕ") & {"))}
Set dc = db.AllDocuments
Call dc.FTSearch(formula$,0)

Итог:
Query is not understandable

А
formula$ = formula$+{@Contains(@LowerCase(@text(СОДЕРЖАНИЕ)):@LowerCase(@text(СОДЕРЖАНИЕ_)); @LowerCase("} & uidoc.FieldGetText("sСОДЕРЖАНИЕ") & {"))}

возвращает пустую коллекцию.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
36
Россия, Калуга
#14
Ну дык синтаксис-то другой. Смотри в хелпе. Что-то типа:
formula$ = {[СОДЕРЖАНИЕ] = } + uidoc.FieldGetText("sСОДЕРЖАНИЕ") + { OR } + {[СОДЕРЖАНИЕ_] = } + uidoc.FieldGetText("sСОДЕРЖАНИЕ")

Если ищешь по всем документам, то нет смысла получать коллекцию всех документов. Ищи сразу по базе.
Call db.FTSearch(formula$, 0)
 

phantom76

Well-Known Member
Lotus team
25.02.2005
360
9
41
RU г.Москва
#19
я эту задачу решал в свое время через утяжеление доков, предварительный агент на сервере вытягивал тест из rt и генерил текстовые поля с содержанием, а затем уже юзер работал через поисковую форму. Документы утяжелялись, зато даже в представлении можно было показать, то что хотел юзер.
 
Y

Yakov

Гость
#20
я эту задачу решал в свое время через утяжеление доков, предварительный агент на сервере вытягивал тест из rt и генерил текстовые поля с содержанием, а затем уже юзер работал через поисковую форму. Документы утяжелялись, зато даже в представлении можно было показать, то что хотел юзер.
С проблемой 32k на Summary поля не сталкивались?