Autor Thema: Problem mit FTSearch  (Gelesen 1847 mal)

Offline Ralph

  • Frischling
  • *
  • Beiträge: 18
  • ohne Forum wäre ich ein nichts
Problem mit FTSearch
« am: 07.11.02 - 15:30:15 »
das man mit FTSearch ganze DB's durchsuchen kann weiß ich, aber wie kann mann die Suche nur auf das aktuelle Document begrenzen.
zur Erläuterung: bei der datenübernahme aus einer DB soll jedes Document auf bestimmte Schlüsselworte geprüft werden, wenn diese nicht vorhanden sind soll das Doc gespeichert werden.
es nützt nichts wenn die ganze QuellDB durchsucht wird, mann würde immer etwas finden.

Hier mein Skript

keySearch = | Select Form = "KM" |
Set cdocKey = dbkey.Search(keySearch,dateTime,0) '# alle Documente aus KeyAnsicht
Set docKey2 = cdocKey.GetFirstDocument
   For j =1 To cdockey.count
Set docKey = cdocKey.GetDocument(docKey2)  '#        erste Dokument aus KeyAnsicht
               
Set csearch = dbNab.FTSearch(dockey.keywordMaske(0),0)
               
               
Set dockey2 =cdocKey.GetNextDocument(dockey2)      
Next

Offline Isa

  • Frischling
  • *
  • Beiträge: 35
  • Geschlecht: Weiblich
  • who notes?!
Re:Problem mit FTSearch
« Antwort #1 am: 07.11.02 - 16:18:36 »
Du suchst ja einen Wert, der in einem Feld sein muss. Deshalb musst Du das Feld / die Felder aufrufen und bzw. deren Inhalt auslesen und mit dem Vorgabewert vergleichen.
FTSearch ist nun mal nur für die DB.
Dazu könntest Du z.B. InStr verwenden (gibt die Position des gesuchten Wertes) oder StrCompare.
V2: Support - V3: Admin - V4: Dev - R5: CLP - R6: ein bisschen von allem - R7: ??

Offline wflamme

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 690
  • Geschlecht: Männlich
  • Irgendwie geht das schon...
    • wflamme
Re:Problem mit FTSearch
« Antwort #2 am: 07.11.02 - 18:04:42 »
.FTSearch-Methode ist auch für NotesDocumentCollection verfügbar!
Grüße,
Wolfgang

"I love deadlines. I love the whooshing sound they make as they pass by..."
DOUGLAS ADAMS

wflamme@mainz-online.de
http://www.sns1.de/partner/flamme/wflamme.nsf

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Problem mit FTSearch
« Antwort #3 am: 07.11.02 - 18:17:14 »
... warum eigentlich db.FTSearch(...) ? - Dazu braucht man ja einen Volltextindex der DB...

... es würde schon genügen einen DB.Search(...) zu verwenden und in der Suchformel @Contains oder derartiges zu verwenden...

ata
Grüßle Toni :)

Offline wflamme

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 690
  • Geschlecht: Männlich
  • Irgendwie geht das schon...
    • wflamme
Re:Problem mit FTSearch
« Antwort #4 am: 07.11.02 - 18:22:03 »
Und überhaupt mal eine dumme Frage:
Wieso führst Du nicht Dein db.FTSearch durch und 'subtrahierst das Ergebnis von db.AllDocuments?
Da müßte dann doch die collection übrigbleiben, die Du speichern willst?
Grüße,
Wolfgang

"I love deadlines. I love the whooshing sound they make as they pass by..."
DOUGLAS ADAMS

wflamme@mainz-online.de
http://www.sns1.de/partner/flamme/wflamme.nsf

Offline Ralph

  • Frischling
  • *
  • Beiträge: 18
  • ohne Forum wäre ich ein nichts
Re:Problem mit FTSearch
« Antwort #5 am: 07.11.02 - 19:45:30 »
Danke für die Hinweise ich werde s morgen nochmal probieren, auf den Gedanken die einzelnen Feldwerte der Collektion zu vergleichen bin ich auch gekommen. Habs aber noch nicht probiert.
Ich dachte es gibt vielleicht FTSearch auch für Doc's.
In der Hilfe hab ich auch sowas gelesen,das war FTSearchScore bin
ich aber nicht mit klar gekommen.
Als Rückgabewert soll ein Integer der gefundenen Übereinstimmungen im Document kommen, aber wie das so ist er kam nicht.
Also bis morgen ich halt euch auf dem laufenden

Gruß Ralph

Offline Ralph

  • Frischling
  • *
  • Beiträge: 18
  • ohne Forum wäre ich ein nichts
Re:Problem mit FTSearch
« Antwort #6 am: 08.11.02 - 13:34:27 »
Hi,
Ich hab es jetzt so gelöst, mit strCompare
Ist zwar nicht so das was ich mir vorgestellt hatte. Eigentlich wollte ich alle Felder des Documents auslesen lassen und dann über eine Schleife nacheinander Vergleichen (wäre dann im Prinzip auch eine Volltextsuche), aber ich habe nicht herrausgefunden wie ich an die Felder rankomme
            '# Vergleich der Felder ob Schlüssel worte enthalten
            Dim docKey As Notesdocument
            Dim docKey2 As Notesdocument
            Dim dbkey As Notesdatabase
            Set dbkey = session.GetDatabase("pcoi4","apptelephone.nsf")
            Dim cdocKey As NotesdocumentCollection
            Dim vergleich As Integer
            
            '# Einlesen der Schlüsselworte in eine Collection
            vergleich = 1
            keySearch = | Select Form = "KM" |
            Set cdocKey = dbkey.Search(keySearch,dateTime,0) '# alle Documente aus KeyAnsicht
            Set docKey2 = cdocKey.GetFirstDocument
            
            Do While Not docKey2 Is Nothing  And vergleich <> 0   
               
               Set docKey = cdocKey.GetDocument(docKey2)  '# erste Dokument aus KeyAnsicht
               If Strcompare( docNab.FirstName(0)  , dockey.KeywordMaske(0) ,1) <> 0_
               And Strcompare( docNab.LastName(0)  , dockey.KeywordMaske(0) ,1) <> 0 Then  
                  vergleich =1                  
               Else                  
                  vergleich =0
               End If
               
               Set dockey2 =cdocKey.GetNextDocument(dockey2)    
               
            Loop
            If vergleich <> 0 Then
               
               Set docNew = dbExport.CreateDocumen


Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Problem mit FTSearch
« Antwort #7 am: 08.11.02 - 13:48:29 »
... sollte es nur ein Auszug aus dem Code sein, oder fehlt da noch Code?

ata
Grüßle Toni :)

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Problem mit FTSearch
« Antwort #8 am: 08.11.02 - 20:58:47 »
Hallo Ralph,

... ich gehe mal auf die Suche, ich hatte sowas schon mal zusammengepfriemelt...

ata
Grüßle Toni :)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz