plaudern.de

Forumsharing?
Forum suchen
Forum erstellen
Impressum/Kontakt
Datenschutz
AGB
Hilfe

47 User im System
Rekord: 483
(01.04.2024, 01:34 Uhr)

 
 
 plaudern.de-Forum
  Suche:

 Suchsyntax 26.03.2004 amo
Hallo Horst:

Ich bin gerade auf eine mir noch unbekannte Suchsyntax bei der foruminternen Suche gestoßen:

Ich gab als Suchbegriff ein:
"benachrichtigung an"
in der Hoffnung, damit könnte ich nach dem String inclusive dem Leerzeichen suchen lassen.

Das setzte plaudern.de dann um in:
(benachrichtigung,an)

Also gibt es eine Klammerung?  Welche Bedeutung hat diese?  Es wurden damit Beiträge gefunden, die die Klammersymbole nicht enthielten.

"(benachrichtigung,an)"
wurde umgesetzt in
(,)(benachrichtigung,an)

Das konnte ich mir gar nicht mehr erklären.

Interressant ist auch, daß bei der Eingabe keine ** an die 2 Worte hinten angefügt wurden.  Bei irgendeiner späteren Eingabe von
(benachrichtigung,an)
oder etwas ähnlichem wurde das aber auch mal in
(benachrichtigung*,an*)
geändert.

Ich versuchte auch, das Leerzeichen mit \ zu escapen, dann kam wieder was mit ** hinten raus.


Dienen die ( ) zur Klammerung boolescher Ausdrücke bei der Suche oder haben sie eine andere Funktion?
Dazu auf die Schnelle mal 2 Links. Infos zur Volltextsuche findest Du unter http://www.tdbengine.org/text/documentation/volltext_indizierung_de.html. Etwas weiter unten unter dem Begriff "Die Suche im Volltextindex".

Die Eingabebegriffe werden von der Routine "Sucheingaben normieren" die unter http://www.tdbengine.org/text/helpware_de.html zu finden ist bearbeitet.

Viele Grüße
Horst
 Re: Suchsyntax 27.03.2004 amo
> Die Eingabebegriffe werden von der Routine "Sucheingaben
> normieren" die unter
> http://www.tdbengine.org/text/helpware_de.html zu finden
> ist bearbeitet.

Danke!

Die Sprache erinnert mich an Pascal.  Was ist das?
Ich schau mir das mal an.

Mir fehlt oft ein Handbuch zum Forum.  Da ist es gut, solche Links hier zu haben.
 Sprache 28.03.2004 amo
> > Die Eingabebegriffe werden von der Routine "Sucheingaben
> > normieren" die unter
> > http://www.tdbengine.org/text/helpware_de.html zu finden
> > ist bearbeitet.
>
> Danke!
>
> Die Sprache erinnert mich an Pascal.  Was ist das?
> Ich schau mir das mal an.

Die Sprche ist nicht Pascal.  Sie hat aber Elemente von Pascal und auch Elemente von c.  Sie scheint nicht-strikt zu sein.  Das , bei IF Abfragen könnte die Funktion eines logischen AND haben.  Das gäbe bei Ausnutzung von nicht-Striktheit bei einigen IF - Abfragen den Sinn, mit dem Eintrag vor dem , zu testen, ob der nachfolgende Test einen Sinn macht, um einen Fehlerabbruch durch einen Laufzeitfehler zu verhindern. 0 hat den Wahrheitswert false und alle Zahlen <> 0 haben den Wahrheitswert true bei den IF-Abfragen?

Wie es aussieht, kann man mit einem . nach dem Ende eines nichtleeren Wortes verhindern, daß ein * an das Wort angefügt wird.  Das werde ich mal testen.  Die Worte AND, UND, OR, ODER, NOT, NICHT in jeder Groß-Klein-Mischschreibung und die Zeichen , + - werden wohl als boolesche Operatoren benutzt und ( ) " . : als Formelzeichen.  Das erinnert mich an die Eingabesyntax der populären Websuchmaschinen.  Was kann man mit dem Operator : anfangen?  Kann man damit den Nachfolgenden Text für die Suche besonders auszeichnen, wie google z.B. mit link:blablabla?  Paare von " werden durch Klammerung mit ( ) ersetzt.

Alles, was außerhalb von [a-zA-Z0-9] liegt, ist für die Routine ein nicht-Wort-Zeichen, deshalb kann es auch mit ß und den deutschen Umlauten nicht funktionieren.  Die routine funktioniert so nur amerikanische Zeichensätze (ascii), vorausgesetzt, ich inerpretiere die Sprachelemente einigermaßen korrekt.  Deutsche Umlaute und Einzeichenligaturen, die außerhalb dem obigen Zeichenbereich liegen, werden aus dem Suchstring gelöscht und es gibt auch keine Möglichkeit, sie mit einem Escape-Symbol davor zu schützen.

Ich vermute:
- pos(c:char,s:string) liefert 0, wenn c in s nicht enthalten ist
- ' und " können zur Stringkennzeichnung gleichwertig aber nicht vermischt verwendet werden
- Die funktion upper(s) wird sich wohl nur auf [a-zA-Z] auswirken.
- "" hat den Wahrheitswert false, der nicht-leere String den Wahrheitswert true


Ich würde das zunächst einmal so erweitern, daß für einen Gebrauch in de [ÄÖÜäöüß] als Wortzeichen behandelt werden.  upper müßte man auch so ändern, daß es auf ÄÖÜäöü angewandt wird - was man dabei dann am Besten mit ß SS SZ ss sz macht, ist mir nicht klar -.  Dann könnte das mit deutschen Worten funktionieren aber alle Sonderzeichen sind wahrscheinlich nicht suchbar.

Den : Operator könnte man vielleicht so eine "Profi-Suche" verwenden in der Art daß man z.B. ins Suchflad schreiben könnte ps:<Suchstring>

Wenn diese Routine in dem System tatsächlich verwendet wird: Gibt es eine Möglichkeit, sie zu ändern?
 Re: Sprache 28.03.2004 amo
> angefügt wird.  Das werde ich mal testen.  Die Worte AND,
> UND, OR, ODER, NOT, NICHT
> in jeder
> Groß-Klein-Mischschreibung

Das ist wohl falsch. Sie werden nur in kompletter Großschreibung als boolesche Operatoren in , + - umgesetzt.

>und die Zeichen , + - werden
> wohl als boolesche Operatoren benutzt und ( ) " . : als
> Formelzeichen.  Das erinnert mich an die Eingabesyntax
Du hast Dir ganz schön Mühe gemacht. Hier mal ganz kurz:

Also die tdbengine-Programmiersprache nennt sich EASY und ist schon ziemlich an Pascal angelehnt.

Umlaute sollten eigentlich funktionieren. Mit : kann man eine Feldbezogene Suche machen. Also Feldname:Suchbegriff.

Details und Tricks zur Suche kannst Du auch im Forum von tdbengine.org bekommen.

Viele Grüße
 Re: Suchsyntax 28.03.2004 amo
Das wildcart ? wird von NormStr gelöscht, * vielleicht auch manchmal.

Dies ist ein Beitrag aus dem Forum "plaudern.de Allgemein". Die Überschrift des Forums ist "plaudern.de-Forum".
Komplette Diskussion aufklappen | Inhaltsverzeichnis Forum plaudern.de Allgemein | Forenübersicht | plaudern.de-Homepage

Kostenloses Forumhosting von plaudern.de. Dieses Forum im eigenen Design entführen. Impressum



Papier sparen durch druckoptimierte Webseiten. Wie es geht erfahren Sie unter www.baummord.de.