Domino 9 und frühere Versionen > ND9: Entwicklung

Volltexsuche - maximale Anzahl Dokumente

(1/3) > >>

Jürgen Schomann:
Ich mache in LotusScript in fremden Datenbanken mit Volltextindex auf verschiedenen Servern eine Volltextsuche über NotesDatabase.FTSearch mit dem Parameter für die maximale Anzahl Dokumente, die zurückgegeben werden = 0.
Standardmäßig werden bis zu 5000 Dokumente geliefert außer wenn in der Notes.ini-Datei eine Variable FT_MAX_SEARCH_RESULTS gesetzt ist, dann gilt das dort angegeben Maximum.
Leider kann ich dabei nicht feststellen ob dieses Maximum erreicht wurde, die Suche also ggf. nicht alle Dokumente zurückgegeben hat.
In der lokalen Notes.ini kann ich diese Variable mit NotesSession.GetEnvironmentValue ja auslesen und wenn die Treffer gleich diesem Wert sind, eine Meldung ausgeben, die Suche zu verfeinern oder die Variable zu erhöhen.

Was mache ich aber bei der Suche in Datenbanken auf anderen Servern. Die Notes.ini-Variable kann ich hier ja nicht prüfen?

Gibt es eine andere Möglichkeit ob das Maximum erreicht wurde?

koehlerbv:
Doch, mit NotesSession.SendConsoleCommand kannst Du den entsprechenden NOTES.INI abfragen. Die zurückgelieferte NOTES.INI-Zeile muss Du Dir dann entsprechend auswerten.

Bernhard

Jürgen Schomann:
Vielen Dank für den Hinweis.
Ich habe aber das Problem, dass die Datenbank, von wo die Suche gestartet wird, lokal ist.
Lt. Notes-Hilfe muss ich dann aber in allen betreffenden Servern als 'Administratoren mit voller Remotekonsolen-Berechtigung' eingetragen sein.
Ich habe mal getestet und es reicht zum Holen der Information mit 'Show Configuration <Variable>' als 'Leseberechtigte Administratoren' eingetragen zu sein.
Aber ich bezweifele, dass der Endanwender diese Berechtigung erhält.

Der andere Weg mit NotesAgent.RunOnServer(<NoteID>) über einen Agenten, der mit der Server-ID unterzeichnet wurde und unter 'Unbeschränkte Methoden und Operationen ausführen' eingetragen ist, wäre ja für o. g. lokale Datenbank nicht möglich?

Oder gibt es noch eine andere Idee.?

ascabg:
Hallo,

Was ist denn nun korrekt?

In deinem ersten Post schreibts du

--- Zitat ---Was mache ich aber bei der Suche in Datenbanken auf anderen Servern. Die Notes.ini-Variable kann ich hier ja nicht prüfen?

--- Ende Zitat ---

Jetzt schreibts du

--- Zitat ---Ich habe aber das Problem, dass die Datenbank, von wo die Suche gestartet wird, lokal ist.
--- Ende Zitat ---

Wenn die Datenbank nun lokal liegt, dann kannst du doch mit

--- Zitat ---NotesSession.GetEnvironmentValue
--- Ende Zitat ---
arbeiten.

Wo liegt denn nun die Datenbank genau?


Andreas

Jürgen Schomann:
War wohl etwas unscharf formuliert, hier noch einmal.
Die Datenbank mit der Anwendung ist lokal. In dieser hole ich mir mit NotesSession.GetDatabase die Datenbanken von anderen Servern und führe dann mit NotesDatabase.FTSearch die jeweilige Suche aus.
Mit NotesSession.GetEnvironmentValue kann ich nur die lokale Notes.INI am Client auslesen. Das reicht auch wenn ich die Suche in einer lokalen Datenbank ausführe.
Wenn ich aber eine Suche in einer Datenbank auf dem Server ausführe, brauche ich die Notes.INI-Variable aus der Notes.INI-Datei des Servers.
Diese kann ich aber nur wie bereits geschrieben, nur unter bestimmten Bedingungen erreichen, die ich als normaler Anwender nicht habe.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln