Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: schroederk am 28.05.08 - 09:40:37

Titel: Wieso funktioniert der FTSearch nicht?
Beitrag von: schroederk am 28.05.08 - 09:40:37
Hallo,

ich versuche eine Liste von Kalendereinträgen zu finden, die einen bestimmten Text in Body-Teil stehen haben.

Ich habs schon mit einigen Methoden versucht, aber ich bekomme es nicht hin:

Code
$session = new COM( "Lotus.NotesSession" );
$session->Initialize('kennwort');

$db = $session->getDatabase( "10.1.20.1", "mail\maildb.nsf", false );
$view = $db->getView( "Calendar" );
$db->UpdateFTIndex(True);

$numDocs = $view->FTSearch("FIELD Body CONTAINS Erzeugt", 10);

$numDocs = $view->FTSearch("Erzeugt", 10);

$numDocs = $view->FTSearch("*Erzeugt*", 10);

$numDocs = $view->FTSearch("FIELD Body = 'Erzeugt*'", 10);

$numDocs = $view->FTSearch("[Body] = 'Erzeugt'", 10);


Ich hab so ziemlich alle Kombinationen probiert, mit oder ohne Anführungsstriche oder Hochkommata, mit oder ohne Sternchen, vor oder dahinter.
Titel: Re: Wieso funktioniert der FTSearch nicht?
Beitrag von: diali am 28.05.08 - 09:51:49
in der Mail-DB sind die Dokumente aber nicht verschlüssselt?
Titel: Re: Wieso funktioniert der FTSearch nicht?
Beitrag von: schroederk am 28.05.08 - 09:52:51
Nein, das kann ich ausschließen.
Titel: Re: Wieso funktioniert der FTSearch nicht?
Beitrag von: Axel am 28.05.08 - 13:17:35
Ich habs schon mit einigen Methoden versucht, aber ich bekomme es nicht hin:

Was bekommst du nicht hin? Fehlermeldung?

Welche Programmiersprache ist das denn?

Ich habe das mal in VBA aus Word heraus nach diesem Strickmuster

....FTSearch("FIELD Body CONTAINS Erzeugt", 10)

gemacht.


Axel
Titel: Re: Wieso funktioniert der FTSearch nicht?
Beitrag von: schroederk am 28.05.08 - 14:11:33
Ne Fehlermeldung gibts nicht, es wird nur nichts gefunden.
In $numdocs sollte ja bei Erfolg die Anzahl der gefundenen Sätze stehen, aber Ergebnis ist 0.

Programmiersprache ist übrigens PHP5.
Titel: Re: Wieso funktioniert der FTSearch nicht?
Beitrag von: m3 am 28.05.08 - 14:31:11
Es liegt nicht am Suchausdruck.

Wie bei dem PHP-Code, den ich so sehe anscheinend üblich, sehe ich keinen Code  der überprüft, ob $db, $session, $view, ... überhaupt gesetzt ist, etc.

Bau mal ein wenig Fehlerbehandlung ein, ev. siehst Du dann den Fehler.

Weiter ist "aber ich bekomme es nicht hin" keine wirklich brauchbare Fehlermeldung. Was geht, was nicht, welche Resultate erhälts Du bei welchen Abfragen, etc. ?
Titel: Re: Wieso funktioniert der FTSearch nicht?
Beitrag von: schroederk am 28.05.08 - 15:00:45
Wenn die Objekte nicht erzeugt worden wären, würde das Script auf einen Fehler laufen.
$db, $session und $view sind auf jedenfall erfolgreich erzeugt worden.

Einzig, ob das Erzeugen des FullTextIndex habe ich bisher nicht geprüft.
Da die Suche aber auch ohne diesen funktionieren soll, war mir die Performance zunächst zweitrangig.


Titel: Re: Wieso funktioniert der FTSearch nicht?
Beitrag von: Werner Götz am 28.05.08 - 15:07:43
Existiert denn der Volltextindex?
Wenn nicht, würde sich das ganze genau wie beschrieben verhalten...

Klar, das UpdateFTIndex sollte den Volltextindex erzeugen aber möglicherweise hat der aktuelle User ja keine Rechte usw.

-Werner
Titel: Re: Wieso funktioniert der FTSearch nicht?
Beitrag von: schroederk am 28.05.08 - 15:32:31
Der Volltextindex existiert. Hab ich gerade nochmal kontrolliert.
Der aktuelle User ist als Manager auf der DB eingetragen.