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

Тема в разделе "Lotus - Программирование", создана пользователем wowa, 15 фев 2008.

  1. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    Подскажите, пожалуйста.....

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

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

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    Или все-таки Private Folder можно использовать как Embedded Element????
    Где-то когда-то видел на форуме что вроде вообще нельзя...
    Но не совсем понимаю вот эту фразу в хелпе:

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

    Sandr Гость

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

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

    fvoice Гость

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

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

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    Для: fvoice
    ну вот в Лотусе я использовал FTSearch

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

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

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

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

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

    fvoice Гость

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

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

    Вот пример агента, выводящего документы в табличном варианте
    Код (Text):
    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 содержало открываемый документ.
     
  7. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    Для: fvoice
    Спасибо,...
    Вот насколько я понимаю, то Получаю нужную коллекцию документов
    А потом?
    Беру по одному документу и составляю таблицу...
    Как оно будет выглядеть? Как оно сформирует эту таблицу и куда ее засунет?


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

    fvoice Гость

    <!--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]
    сори, поправил
     
  9. valmont

    valmont Well-Known Member

    Регистрация:
    27 дек 2004
    Сообщения:
    63
    Симпатии:
    0
    Для: wowa, смотря что ты хочешь искать... можно созадть спец вьюшку и делать полнотекстовый поиск по ней... (всем же известно что вьюшка это индексированная таблица, а также что для каждой категории вьюшке создается свой индекс, тем самым чем больше категорий, тем сильнее раздувается вьюшка), тогда смотри в сторону $$SearchTemplate for "Имя твоей вьюшки" под веб все результаты можно обернуть в css.
     
  10. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    Код (Text):
    "<img src=\"Search.gif\" onclick=\"  \">
    Подскажите, как можно в onclick запустить агент?
     
  11. Sandr

    Sandr Гость

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

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

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

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    Для: Sandr
    я сделал по другому, <a href=хост\имя_базы\имя_агента?OpenAgent><img src=".....">

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

    Sandr Гость

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

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    Для: fvoice
    Пользуюсь твоим примером, пока все нормально...

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

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    fvoice
    Вот сформировал я снизу таблицу найденных документов, все отлично!!!

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

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

    Sandr Гость

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

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
  18. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    Sandr , может есть еще какой-н вариант если результат поиска в документе??
    Я все-таки пытаюсь при новом поиске получить строку запроса прошлого поиска::

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

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


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

    Поиск такой:

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

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    У меня главная страница сделана с помощью <table>, там 2 ячейки. В первой ячейке кнопка "Поиск"
    Можно как-н сделать, чтобы генерируемая страница сформировалась во второй ячейке?
    У меня сейчас сделано все это с помощью фреймов , но из-за этого возникают другие проблемы
     
  20. Гость

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

Поделиться этой страницей