Tom: (ZU DIESEM FORUM) (Archiv-Suche): Datenmodell und Operatoren

Beitrag lesen

Hallo Michael

Frage:
Kann man nicht je Suchbegriff eine Liste (@Array) aufbauen und diese dann jeweils nach der Mengenlehre verarbeiten.

z.B.

$LeftItem OPERATOR $RightItem

wenn OPERATOR = OR:
@Result = @LeftResults;
push(@Result,@RightResult);

wenn OPERATOR = AND:
foreach @LeftResult
{
   if($_ eq $RightResult[$i])
   {  push(@Result,$_) }
   $i++;
}

Die OPs NOT, -, + setzen ein bestehendes Resultset voraus.

Bei NOT, bzw. - werden die Einträge in @RightResult aus dem Resultset @LeftResult entfernt.

Der + Operator macht aber nur bei einer OR-Verknüpfung Sinn.
Dazu müsste das Leerzeichen aber als OR-Verknüpfung interpretiert werden und nicht als AND.

Für den Near-Operator müsste in jedem Eintrag jeweils eine Datenstruktur enthalten sein, die sowohl das Dokument und die Position des Suchbegriffs vom Textanfang (ermittelt über die Funktion index() ) enthält. Daraus lässt sich die relative Nähe ermitteln. Die Datenstruktur kann einerseits eine Referenz auf ein weiteres Array sein, kann aber auch ein Skalar mit definiertem Separator-Zeichen (z.B. '' ) sein.

Damit das Ganze richtig schnell wird könnte es sinnvoll sein, Indexdateien zu erzeugen, auf die dann für die Suche zugegriffen wird.

Hoffentlich rauben Dir meine Vorstellungen nicht gleich den Mut. Sie sind _wirklich_ nur als Diskusionsbeiträge gedacht und könen natürlich auch ignoriert werden.

Grüsse

Tom

0 62

(ZU DIESEM FORUM) (Archiv-Suche): "Wunschkonzert"

Michael Schröpl
  1. 0

    (ZU DIESEM FORUM) (Archiv-Suche): Umlaute und Sonderzeichen

    Michael Schröpl
  2. 0

    (ZU DIESEM FORUM) (Archiv-Suche):

    Michael Schröpl
    1. 0

      (ZU DIESEM FORUM) (Archiv-Suche): Eingabesyntax für komplexe Suchanfragen / Tokenizer

      Michael Schröpl
      1. 0
        Frank Schönmann
        1. 0
          Michael Schröpl
          1. 0
            Frank Schönmann
            1. 0
              Michael Schröpl
  3. 0
    Tom
    1. 0
      Michael Schröpl
      1. 0
        Tom
        1. 0
          Michael Schröpl
  4. 0

    (ZU DIESEM FORUM) (Archiv-Suche): Datenmodell und Operatoren

    Michael Schröpl
    1. 0
      Tom
      1. 0
        Michael Schröpl
        1. 0
          Frank Schönmann
          1. 0
            Michael Schröpl
          2. 0
            Stefan Muenz
          3. 0

            (Archiv-Suche): Stopwortliste für Archiv-Index

            Michael Schröpl
            1. 0
              Frank Schönmann
    2. 0

      (ZU DIESEM FORUM) (Archiv-Suche) Operatoren: "+" (MUST), "-" (NOT) und " " (CAN)?

      Michael Schröpl
      1. 0
        Stefan Muenz
        1. 0
          Frank Schönmann
          1. 0

            (ZU DIESEM FORUM) (Archiv-Suche) Limitierung und Sortierung von Treffern

            Michael Schröpl
          2. 0
            Stefan Muenz
            1. 0
              Frank Schönmann
    3. 0

      (ZU DIESEM FORUM) (Archiv-Suche): Operatoren MUST und NOT implementiert

      Michael Schröpl
  5. 0

    (ZU DIESEM FORUM) (Archiv-Suche): Case-Sensitivität

    Michael Schröpl
    1. 0
      Wilhelm
      1. 0
        Tom
        1. 0
          wilhelm
          1. 0

            (ZU DIESEM FORUM) (Archiv-Suche): Case-Sensitivität ist implementiert

            Michael Schröpl
            1. 0
              Swen
      2. 0
        Michael Schröpl
    2. 0
      Michael Schröpl
  6. 0

    (ZU DIESEM FORUM) (Archiv-Suche): Qualität

    nikita
    1. 0
      Michael Schröpl
  7. 0
    Swen
  8. 0
    Wasser
    1. 0
      Michael Schröpl
      1. 0
        Wasser
        1. 0

          (Archiv-Suche) Vorschlag

          Wasser
          1. 0
            Michael Schröpl
            1. 0
              Frank Schönmann
  9. 0
    Calocybe
    1. 0
      Michael Schröpl
      1. 0
        Stefan Muenz
      2. 0
        Calocybe
        1. 0
          Stefan Muenz
  10. 0
    Stefan Muenz
    1. 0
      Michael Schröpl
      1. 0
        Stefan Muenz
        1. 0
          Michael Schröpl
          1. 0
            Stefan Muenz
        2. 0
          Calocybe
          1. 0
            Michael Schröpl
  11. 0
    wilhelm
    1. 0
      Michael Schröpl
      1. 0
        Michael Schröpl
      2. 0
        wilhelm
        1. 0
          Michael Schröpl
  12. 0
    Swen