Поисковик под Web

wowa

Well-known member
01.02.2007
845
0
#1
Подскажите, пожалуйста.....

В Lotus я делал поисковик. Для вывода результатов поиска я делал Embedded View - это была Private Folder... Т.е. результаты поиска помещались в эту папку и другой человек не мог видеть эти результаты.

Насколько я понял , то Private Folder нельзя использовать под WEB. Как быть в данной ситуации? Как можно отображать результаты?
 

wowa

Well-known member
01.02.2007
845
0
#2
Или все-таки Private Folder можно использовать как Embedded Element????
Где-то когда-то видел на форуме что вроде вообще нельзя...
Но не совсем понимаю вот эту фразу в хелпе:

Код:
Private folders are not supported in outlines on the Web.
Только В аутлайне приватные папки не поддерживаются ? или вообще?
 
S

Sandr

#3
десктопные не поддерживаются - правда...

Используйте не приватные папки и категоризируйтие документы по имени пользователя. При открытии используйте вьюфильтр, или внедряйте папку на форму (используйте ШоуСинглкатегори).
 
F

fvoice

#4
Для: wowa
Вам нужен поисковик или фильтр по каким то ключевым значениям?

и в том и в том случае гораздо гибче будет агент выполняющий поиск по БД и выводящий результат на страницу в любой удобной для Вас форме, со сгенерированными ссылками на документы.. только в первом случае использовать FTSearch а во втором Search
 

wowa

Well-known member
01.02.2007
845
0
#5
Для: fvoice
ну вот в Лотусе я использовал FTSearch

У меня доки содержат значения "Страна", "Город", "Место"... ну и "Дата создания"

Дак вот у меня допустим ставлю чекбоксы, что хочу искать по стране "Беларусь" и чтобы дата создания была больше 01.01.2008

Вот, блин, даже не знаю как это в Вебе сделать

Нашел, только что как-то делают- встраивают вью , и поиск только по первому столбцу....
А как мне встроить эту вью и как сделать чтобы искала не только по первому столбцу????
Насколько я понял то тут не нужно всякие папки
Просто как-то ссылка формируется, а как - даже не знаю...

Может есть у кого-н простенький пример?? Опять списать ))) Буду сильно благодарен...
 
F

fvoice

#6
Для: wowa
Если Вы осуществляете поиск по значениям заранее известных полей, то зачем FTSearch?
Код:
Set dc = db.Search({Select Form="NameOfTheForm" & @LowerCase(Country) = } + {"} + LCase(doc.Country(0)) + {"},Nothing,0)
будет корректнее, а то вдруг в другом поле будет значение "Беларусь"

В этом примере используется фильтрация по Show single category
Тут обсуждение как это реализовать

Вот пример агента, выводящего документы в табличном варианте
Код:
Dim s As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim dc As NotesDocumentCollection

On Error Goto ErrHandle

Set db = s.CurrentDatabase
Set doc = s.DocumentContext

'осуществляем поиск по введенному в документе значению страны
Set dc = db.Search({Select Form="NameOfTheForm" & @LowerCase(Country) = } + {"} + Lcase(doc.Country(0)) + {"},Nothing,0)
If dc.Count=0 Then
Print "Поиск не дал результатов!"
Exit Sub
End If

Print |<table>|	
Set doc = dc.GetFirstDocument
While Not doc Is Nothing
Print |<tr><td> |+doc.Title(0)+|</td></tr>|
Print |<tr><td>|+doc.Comment(0)+|</td></tr>|
Print |<tr><td ALIGN=right><a href="/YourDBName.nsf/YourViewName/|+doc.UniversalID+|?OpenDocument"> Открыть документ</a></td></tr>|
Set doc = dc.GetNextDocument(doc)
Wend	
Print |</table>|

ErrHandle:
Resume Next

End Sub
код правил здесь, поэтому могут быть неточности
свойства агента:
Trigger - On Event
Agent List Selection
Target - None

важно при формировании ссылки на открытие документа, что бы представление YourViewName содержало открываемый документ.
 

wowa

Well-known member
01.02.2007
845
0
#7
Для: fvoice
Спасибо,...
Вот насколько я понимаю, то Получаю нужную коллекцию документов
А потом?
Беру по одному документу и составляю таблицу...
Как оно будет выглядеть? Как оно сформирует эту таблицу и куда ее засунет?


И вторая ссылка не работает,..
 
F

fvoice

#8
<!--QuoteBegin-wowa+16:02:2008, 17:18 -->
<span class="vbquote">(wowa @ 16:02:2008, 17:18 )</span><!--QuoteEBegin-->Беру по одному документу и составляю таблицу...
[snapback]98406" rel="nofollow" target="_blank[/snapback]​
[/quote]
совершенно верно
<!--QuoteBegin-wowa+16:02:2008, 17:18 -->
<span class="vbquote">(wowa @ 16:02:2008, 17:18 )</span><!--QuoteEBegin-->Как оно будет выглядеть? Как оно сформирует эту таблицу и куда ее засунет?
[snapback]98406" rel="nofollow" target="_blank[/snapback]​
[/quote]
будет выглядеть в зависимости от того насколько хорошо Вы знакомы с HTML :) т.е агент генерирует HTML страницу методами print, которые выводят информацию на страницу браузера (ее можно выводить в новом окне, во фрейме или поверх текущего), если постараться, подучить CSS, то можно сократить код страницы до минимума..
<!--QuoteBegin-wowa+16:02:2008, 17:18 -->
<span class="vbquote">(wowa @ 16:02:2008, 17:18 )</span><!--QuoteEBegin-->И вторая ссылка не работает,..
[snapback]98406" rel="nofollow" target="_blank[/snapback]​
[/quote]
сори, поправил
 

valmont

Well-known member
27.12.2004
64
0
#9
Для: wowa, смотря что ты хочешь искать... можно созадть спец вьюшку и делать полнотекстовый поиск по ней... (всем же известно что вьюшка это индексированная таблица, а также что для каждой категории вьюшке создается свой индекс, тем самым чем больше категорий, тем сильнее раздувается вьюшка), тогда смотри в сторону $$SearchTemplate for "Имя твоей вьюшки" под веб все результаты можно обернуть в css.
 

wowa

Well-known member
01.02.2007
845
0
#10
Код:
"<img src=\"Search.gif\" onclick=\"	 \">
Подскажите, как можно в onclick запустить агент?
 
S

Sandr

#11
Вешаете на форму кнопку. Даете ей айди. на onclick рисунка пишите document.getElementById("айди княпки").click();

А на саму кнопку вешаете @Command([ToolzRunMacro])

Или по урлу
хост\имя_базы\имя_агента?OpenAgent
 

wowa

Well-known member
01.02.2007
845
0
#12
Для: Sandr
я сделал по другому, <a href=хост\имя_базы\имя_агента?OpenAgent><img src=".....">

Вроде работает, но до конца не проверял
 
S

Sandr

#13
Для: Sandr
я сделал по другому, <a href=хост\имя_базы\имя_агента?OpenAgent><img src=".....">

Вроде работает, но до конца не проверял
Учтите, что если Вы сделали так, то измененные данные документа после сохранения не сохранятся в нем, потому что не выполняется сабмит текущего документа. 1-й способ (через клик кнопки жаваскриптом) лучше и надежней... К тому же так оегче раюотать с документом в самом агенте...
 

wowa

Well-known member
01.02.2007
845
0
#14
Для: fvoice
Пользуюсь твоим примером, пока все нормально...

Единственно вопрос, можно как-н сделать категории?
 

wowa

Well-known member
01.02.2007
845
0
#15
fvoice
Вот сформировал я снизу таблицу найденных документов, все отлично!!!

Может у кого -н есть идея как теперь сделать поиск "в найденном"???
В Лотусе я результат первого поиска помещал в приватную папку,... а поиск "в найденном" совершал с пом view.FTSearch...
Есть у кого-н идеи как можно это сделать в WEB ???

Может сохранять прошлую строку запроса а потом как-н объединять (дополнять) новой...??
 
S

Sandr

#16
Если результат поиска у Вас в папке, то используйте Search template for имя папки
Если в документе (на страничке), то только Ctrl+F :blink:
 

wowa

Well-known member
01.02.2007
845
0
#18
Если в документе (на страничке), то только Ctrl+F
Sandr , может есть еще какой-н вариант если результат поиска в документе??
Я все-таки пытаюсь при новом поиске получить строку запроса прошлого поиска::

1) При первом поиске, строку запроса для FTSearch записываю в поле№1 (для проверки - делаю Print значение из поля, и эта строка запроса действительно находится в поле

2) Ставлю галочку чтобы искало в найденном, нажимаю поиск.. И хочу сразу посмотреть есть ли строка первого запроса в поле№1 до того как сформировался второй результат поиска... Но там уже ничего нет!


Подскажите хоть какую-н идею как сделать поиск "в найденном"???
Может все-таки сохранять этот документ поиска, потом как-н его доставать,.... и т.д. потом удалять...
Ну хоть какую-н идею!!!

Поиск такой:

Любой пользователь выбирает в аутлайне "Поиск" и далее он ищет что ему надо .... Но я все-таки думаю не надо сохранять документ поиска... но тут уже как получится... Вообщем у кого есть какие-н идеи?
 

wowa

Well-known member
01.02.2007
845
0
#19
агент генерирует HTML страницу методами print, которые выводят информацию на страницу браузера (ее можно выводить в новом окне, во фрейме или поверх текущего),
У меня главная страница сделана с помощью <table>, там 2 ячейки. В первой ячейке кнопка "Поиск"
Можно как-н сделать, чтобы генерируемая страница сформировалась во второй ячейке?
У меня сейчас сделано все это с помощью фреймов , но из-за этого возникают другие проблемы
 
G

Guest

#20
На главной странице в нужной ячейке делаешь RTF-поле, полученный агентом html-код таблицы с найденными значениями помещаешь в этот RTF. Только не забудь проставить для него notesRichTextStyle.PassThruHTML=True