Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: CLI_Andreas_Schmidt am 26.03.07 - 11:20:55

Titel: FTSearch Merkwürdigkeit
Beitrag von: CLI_Andreas_Schmidt am 26.03.07 - 11:20:55
Hi @all,

ich habe folgenden FTSearch-String

result = Trim(CAT_1 & " " & CAT_2 & " " & CAT_3 & " " & CAT_4 & " " & CAT_5 & " " & CAT_6)

CAT_1 bis CAT_6 sind checkboxen im Web. Der String wird dann einem Agenten übergeben, der dann den HTML Code generiert. Läuft auch soweit. Dennoch gibt es eine Merkwürdigkeit.

Wenn CAT_1 und CAT_2 ausgewählt werden (alle Anderen sind leer) dann gibt es ein richtiges Resultat.
Wenn CAT_1 und CAT_3 (Hier egal es muss nur Lücken geben) ausgewählt wird, werden keine Dokumente gefunden

Der Trim sollte dafür sorgen, dass der String immer gleich aussieht. Aber dennoch scheint Notes das anders zu sehen.

Titel: Re: FTSearch Merkwürdigkeit
Beitrag von: Thomas Schulte am 26.03.07 - 11:52:28
Ist ja auch logisch.
Dein erstes Ergebnis ist:
"cat1|leer|cat2|leer|leer|leer|leer" und ergibt mit Trim "cat1|leer|cat2"
Dein zweiter Begriff ergibt:
"cat1|leer|leer|cat3|leer|leer|leer" und ergibt mit Trim immer noch cat1|leer|leer|cat3"

Siehst du den kleinen aber feinen Unterschied?

Das ist in der Online Hilfe auch erklärt:
Removes leading and trailing spaces from a string and returns the resulting string.

und mit
Array = split(CAT_1 & "~" & CAT_2 & "~" & CAT_3 & "~" & CAT_4 & "~" & CAT_5 & "~" & CAT_6,"~")
result = join(fulltrim(Array))
sollte dann immer das "richtige" dabei rauskommen.
Titel: Re: FTSearch Merkwürdigkeit
Beitrag von: Thomas Schulte am 26.03.07 - 12:37:44
Ach ja bevor mich jetzt jemand haut. Mit
Fulltrim(CAT_1 & " " & CAT_2 & " " & CAT_3 & " " & CAT_4 & " " & CAT_5 & " " & CAT_6)
kommt das gleiche viel einfacher raus, denn:
Given an array, eliminates "empty" entries and eliminates duplicate, trailing and leading whitespace within entries; and given a string, eliminates duplicate, trailing and leading whitespace in the string.
Titel: Re: FTSearch Merkwürdigkeit
Beitrag von: CLI_Andreas_Schmidt am 26.03.07 - 13:10:43
Bei Deinem Ansatz, hat er die "~" nicht zusammengesetzt. Daher habe ich es auseinandergenommen.

      searchstring = CAT_1 & "~" & CAT_2 & "~" & CAT_3 & "~" & CAT_4 & "~" & CAT_5 & "~" & CAT_6
      liste = Split(searchstring,"~")
      result = Join(Fulltrim(liste))

Ergebnis sieht gut aus. Dennoch gleiches Problem. Er findet nur Dokumente, wenn keine Lücken vorkommen. WAHNSINN.......
Titel: Re: FTSearch Merkwürdigkeit
Beitrag von: ata am 27.03.07 - 22:38:24
Hallole Andreas,

... wie sieht denn dein Searchstring tatsächlich aus?

Toni