Domino 9 und frühere Versionen > Entwicklung
Frage zu Umsetzung einer Suchfunktion
ata:
... db.FTSearch hat so seine Tücken, denn in 5.04 wurde die Engine überarbeitet und hat dann Probleme, wenn man mit einem 4er Client damit arbeiten will...
... der db.FTSearch sollte gezwungenermaßen auch eine Volltextinzierung deiner DB haben - hat sie das?
... mit dem db.Search bist du zwar freier und unbelasteter, aber er dauert deutlich länger...
... es gibt 2 praktikable Lösungen, die mir so spontan durch den Kopf gehen - die eine ist die Collection auswerten und in einem Richtextfeld DocLinks mit erklärndem Text auszugeben - oder - schau dir mal die NotesNewsletter-Klasse an - dort wird ein Mail an einen Empfänger generiert mit den Doclinks deiner Collection - ist schon ein paar Tage her, daß ich das mal verwendet habe, aber ich kann mich nochmal kundig machen - falls von Interesse...
ata
Micha:
So meine erste Antwort kommt jetzt. ;)
Ich habe mich auch einige Zeit mit dem Problem beschäftigt und habe die "shared folder, private on first use" (gemeinsam,privat bei Erstbenutzung)benutzt.
so kann aus jeder Ansicht gesucht werden und die Ergebnisse in einen Ordner geschoben werden der optisch so wie die Ansicht aussieht.
Also einfach die documentcollection in den speziellen Ordner schieben.
Ich hoffe mal die Antwort ist nicht allzuschlecht, ist ja auch meine erste.
Das müssten so die Schlüsselzeilen sein:
Set coll = db.FTSearch( query$, 0 )
Set folder = db.GetView(Folder)
Call coll.putallinfolder(Folder)
Call view.refresh
ata:
@Micha
... wenn du wenige User in der DB hast, dann kann man das durchaus so machen - bei der nächsten Suche mußt du die Dokumente aber wieder aus dem Ordner entfernen - sonst hast du einen Mischmasch...
... vom Handling und von der Performance her würde ich ein Dokument erstellen, indem die Verknüpfungen zu den Dokumenten liegen - das Doc ist speicherbar, kann versendet werden - liegt der Allgemeinheit mit zur Verfügung, wenn es gebraucht werden sollte...
ata
Axel:
Hi,
nun möcht ich mal meinen Senf auch noch dazugeben.
Ich habe eine Suche nach dem gleichen Strickmuster wie Micha realisiert. Das Ganze läuft inzwischen in zwei Datenbanken. Die eine DB enthält ca. 15.000, die andere ca. 2.000 Dokumente. Es sind ca. 250 User die mit den Datenbanken arbeiten, natürlich nicht alle gleichzeitig. Mit der Performance hab ich überhaupt kein Problem.
Was unter 4.6 noch teilweise ein Problem war, ist unter 5 sauber zu lösen. Das Leeren der Ordner bevor man das neue Rechercheergebnis anzeigt.
Das hab ich so realisiert:
...
Dim view As NotesView
Dim vc As NotesViewEntryCollection
Dim foldername As String
foldername = "Recherche"
Set view = db.GetView(foldername)
Set vc = view.AllEntries
Call vc.RemoveAllFromFolder(foldername)
...
Mit dieser Methode lassen sich, mit etwas Aufwand auch einschränkende Suchen realisieren, d.h. man sucht in einem bestehenden Ergebnis.
Axel
pipsxx:
hi @all
vielen dank fuer eure hinweise. ich werde mir das alles nochmal durch den kopf gehen lassen und ausprobieren. ganz genau weiss ich leider auch noch nicht, was da auf mich zukommt. mit irgendwelchen client-versionen sollte es allerdings keine probleme geben. es ist vorgesehen (aus kostengruenden) alles ueber browser zu machen. ist natuerlich fraglich, ob sich dabei alle funktionen umsetzen lassen...
@ata
ich werd mir die klasse mal ansehen, wenn sie in der hilfe steht. wenn du allerdings noch weitere hinweise dazu haben solltest, wuerde ich mich sehr drueber freuen
- - - - -
gruessle,
pipsxx
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln