Domino 9 und frühere Versionen > ND6: Entwicklung

Problem

(1/5) > >>

bikerboy:
Also ich weiss nicht unter was für ein Topic das hier fällt, deswegen entschuldige ich mich schon mal für den Header.

Also ich möchte ein Suche auf eine Datenbank ausführen. Alles kein Problem im eigentlichen Sinne, ABER der Suchbegriff soll mit meiner Version von Soundex umgeschlüsselt werden. Das heisst der Schlüssel nach dem ich mit dem Search auf die zu durchsuchende DB gehe ist mein Abstrahierter Suchbegriff. Die Db in der ich suchen möchte ist die DocHouse-Adress-DB , in der darf ich aber nichts verändern. Also keine extra VIEW einbauen oder neue Felder in die Dokumente schreiben.
Desweiteren darf ich nicht !!! in eine Dritte DB kopieren, weil das zu Laufzeitlastig ist. Auch darf ich die Daten nicht einfach in die Ausgangs-DB in einen Ordner kopieren.

Meine Frage ist wie  kann ich die Daten in DocHouse mit meiner Soundex version verschlüsseln, damit mein Search die richtigen Daten findet. Ich hatte schon folgende Einfälle, die aber alle nicht die Kriterien erfüllt haben , dass mein Chef sagt, so wirds gemacht.


Also ich dachte zuerst an eine Subform die man einfach einbauen könnte. die hätte dann einfach die benötigten Felder umgeschlüsselt

Dann dachte ich an die Dritte DB, was aber auch zu langsam geworden wäre.

Meine letzte Idee basierte auf eine programmierten View. Die per Script eine View nach meinen Kriterien erfüllt, also was in der ersten , zweiten , dirtten Spalte steht, aber das geht , wenn ich mich recht informiert habe nur mit Templates die dann wieder in der DocHouse-DB eingebettet werden müsste, was ja auch gegen die Auflage verstösst, das DocHouse unangetastet bleiben muss.

Meine Frage ist nun kann eine View auch ohne Template so erstellen wie man möchte ? oder habt ihr ne Idee wie man es umsetzten könnte.

Bitte Bedenkt immer, dass die Datenmengen die durchsucht werden sollen so bei 50.000 Dokumenten liegt, also fällt es aus, dass jedes einzelene Dokument untersucht wird, dann hätte ich ja die Lösung.

Ich hoffe ich habe mich verständlich ausgedrückt. Und wenn ich mich Recht entsinne gibt es nen @Notes-award , wäre doch ne Idee das als Aufgabe zu nehmen.

Danke schon mal im Voraus

Tode:
also ich verstehe das Problem bei der Sache nicht so ganz...

so finde ich zum Beispiel in der Mail- Datenbank alle Dokumente, deren Subject wie "test" klingt:

   Dim ses As New NotesSession
   Dim db As NotesDatabase
   Dim dc As NotesDocumentCollection   
   Dim doc As NotesDocument
   
   Dim qry As String
   
   qry = |@Soundex( Subject ) = @Soundex( "test" )|
   
   Set db = ses.CurrentDatabase
   Set dc = db.Search( qry , Nothing , 0 )

Also wo ist das Problem !?

Gruß
Tode

m3:
1., und das gilt ganz besonders für Azubis, "Verwende aussagekräftige, genaue Betreffzeilen"   :-P
Stell Dir vor, jeder würde seine Frage mit "Problem" oder "Frage" titulieren. Brrrrrr.  :o

2) Mit "meine Version von Soundex" meinst Du diese?
Der Link wäre nett gewesen, nicht jeder kennt alle Postings des letzten Jahres auswendig.  ;)

3) Einschränkungen

--- Zitat ---keine extra VIEW einbauen oder neue Felder in die Dokumente schreiben. Desweiteren darf ich nicht !!! in eine Dritte DB kopieren, weil das zu Laufzeitlastig ist.
--- Ende Zitat ---
Da wirds schwierig.  :-\

4) Meine Frage ist nun kann eine View auch ohne Template so erstellen wie man möchte ?
Du könntest vor jeder Suche mit DXL die View erstellen und nachher wieder wegschmeissen. Aber ob das mittelfristig bei 50.000 Dokumenten sehr performant ist, wage ich zu bezweifeln. ;D

IMHO (gscheitere Köpfe mögen mich bitte eines Besseren belehren) wirst Du ohne Modifikationen in der zu durchsuchenden DB nicht auskommen.  :-:

m3:

--- Zitat von: Tode am 18.12.06 - 18:40:59 ---   qry = |@Soundex( Subject ) = @Soundex( "test" )|
   Set dc = db.Search( qry , Nothing , 0 )

--- Ende Zitat ---
Führt er @Soundex( Subject ) für jedes Dokument in der DB aus, wenn er sucht? Das kann ich mir nicht ganz vorstellen.

Ich hätte es eher so verstanden, wie es auch Duffbert beschreibt.
Wenn ich ein Multivalue-Field mit einem Namen habe, so kann ein Value der Soundex-Wert sein. Und wenn ich dann nach @Soundex(Name) suche, findet er diesen.

Tode:
der DB.Search funktioniert im Prinzip exakt wie eine Ansichts- Selektionsformel, führt also die Formel für jedes Dokument aus. Welcher Task dabei die Aufgabe übernimmt, kann ich nicht sagen. Aber ich habe das schon (in Ähnlicher weise, allerdings nicht mit Soundex) auf Datenbanken mit 300.000 Dokumenten durchgeführt und hatte in akzeptablen Wartezeiten das Ergebnis vorliegen.

Das genannte Beispiel habe ich bei mir in der Mail- Datenbank in Verbindung mit "putInFolder" getestet, und das Ergebnis schien mir in Ordnung zu sein.

Gruß
Tode

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln