Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: FRANKI am 04.09.03 - 07:32:13
-
Hallo Leute,
kurz und schmerzlos:
Wie kann ich den Volltextindex einer Datenbank per Agent (am liebsten Java) (neu-) erstellen lassen.
Bitte nicht sagen, daß es nur lokal geht.
Ich MUSSSSSSSSSSSSSSS die Datenbank auf dem Server indizieren!
Danke
FRANKI
-
Hi,
mit Java kann ich dir leider nicht helfen, aber eine Script-Lösung habe ich in der Designer-Hilfe gefunden.
This script checks if INDEXME.NSF has a full-text index. If not, it asks the user if the user wants to create an index. If the user selects Yes, the script creates an index.
This script must include the file LSCONST.LSS.
Dim db As New NotesDatabase( "", "indexme.nsf" )
Dim collection As NotesDocumentCollection
Dim answer As Integer
If Not ( db.IsFTIndexed ) Then
answer = Messagebox _
( "Do you want to create an index?", MB_YESNO )
If ( answer = IDYES ) Then
Call db.UpdateFTIndex( True )
End If
End If
Set collection = db.FTSearch( "blue", 0 )
'...do something with collection...
Axel
-
Auch aus der Hilfe:
"Notes returns an error if you attempt to create a full-text index on a database that is not local."
Bernhard
-
Hi,
uups... >:( :-X
Mal wieder nicht alles gelesen.
Die Anmerkung zum Parameter, der das Anlegen des Indexes steuert steht folgendes:
createFlag
... Specify True if you want to create an index if none exists (valid only for local databases and only if the database contains at least one document). Otherwise, specify False.
Läuft also nur für lokale DBs.
Nun bin ich auch überfragt. Sorry.
Axel
-
... wenn man den Code in einen Agenten in der DB packt, dann kann man den doch per agent.RunOnServer starten - dann müßte er als lokal gelten... oder nicht...
ata
-
Hi,
mal ne Frage : Wozu brauchst du das ?
Falls es dir darum geht. eine größere Menge an Datenbanken mit einem Volltextindex auszustatten, kannst du das auch über den Admin-Client machen. Einfach die Datenbanken markieren und dann per Kontextmenü den Volltextindex erzeugen.
-
... ich vermute mal, daß vor einer Abfrage sicher gestellt sein soll, daß der Index aktualisiert ist und die Abfrage sporadisch gestellt wird...
ata
-
also, um die vermutungen etwas in die richtige bahn zu lenken:
wir haben hier ein ratsinformationssystem.
(bin bei einer verwaltung beschäftigt).
die anwendung haben wir gekauft.
leider ist sie aus meiner sicht etwas unglücklich programmiert worden.
es werden regelm. alle dokumente aus der db gelöscht um neu hineingeschrieben zu werden. das hat den hintergrund, dass die firma nicht in der lage war nur differenzen in die notes-db zu schreiben.
ich spreche hier von derzeit ca 30000 dokumenten.
ich habe an diese db einige zusätze programmiert.
weil der agent, der die dokumente löscht und wieder neu aufbaut nicht wirklich sauber läuft mußte ich einen agenten schreiben der im vorfeld die dokumente löscht, danach kommt der firmen-agent, danach bearbeite ich die dokumente noch mal mit einem agenten, der zusätze aus einer oracle-db in jedes dokument schreibt.
soweit so gut.
folgende probleme habe ich jetzt.
die datenbank ist ziemlich aufgebläht. ich kann sie nicht per agenten komprimieren.das will ich jetzt durch ein serverdokument zu einem bestimmten zeitpunkt erledigen lassen. danach soll der index aufgebaut werden (volltext mit anhängen)
wär mir allerdings lieber, wenn ich das alles (compress und index) per agent machen könnte.
that's it
FRANKI
-
Frankie, mit der Anwendung wirst Du nicht froh !
Wäre es nicht besser - wenn Du schon dabei bist - den Abgleichagent so umzuprogrammieren, daß das Löschen solcher Dokumentenmassen nicht erforderlich ist ? Oder Ihr beauftragt jemand damit ... Das jetzige Verfahren kann nicht lange gut gehen !
HTH,
Bernhard
-
also ich würd' ja gerne, aber neu programmieren lassen....
denk mal wie es mit den finanzen bei einer verwaltung steht.....
selber machen wäre schön, nur ist das in produktion und ich hab nur die zeit, die sache am leben zu halten nicht etwas gekauftes neu zu machen.
kennst du das, das etwas entschieden wird zu kaufen von dem es heißt es ist ein selbstläufer??
"der selbstläufer benötigt keinen pflegeaufwand."
nur er läuft nicht dahin wohin er soll !!!!!
Gruß
FRANKI
-
Hi,
klingt irklich ziemlich abgefahren.
Aber zum Thema :
Der FTI existiert ja dann, er muß lediglich aktualisiert werden.
Wenn du eh schon per Programmdokument nen Compact startest, dann häng einfach nen Load updall dahinter. Beim Updall gibts mehrere Optionen für den Refresh des Volltextindexes.
Schau dir in der Admin-Hilfe mal die Optionen zur Updall-Task an, da sollte was dabei sein.
-
danke für die tip's
Gruß
FRANKI