Director und Volltextsuche

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Director und Volltextsuche

    Hi Leute,

    ich will in Director eine CD-ROM machen. Es gibt verschiedene Text-Artikel zum durchblättern. Nun will ich eine Volltextsuche integrieren, die die Text-Darsteller in einem bestimmten Cast durchsucht und die, auf die der Suchtext zutrifft untereinander auflistet (bzw. nur die Headline).

    Jetzt kommt aber das Beste:
    Ich soll dann auf den jeweiligen gefundenen Artikel klicken können und dieser springt dann zu der Entsprechenden Seite, wo der Artikel komplett zu sehen ist.

    Kann mir jemand da eine Lösung oder Tips nennen?

    Viele Grüße,
    Andi

  • #2
    sollte man eigentlich mit ner datenbank machen.
    fürn direktor gibbet da ganz gute extensions, beispielsweise data-linker, etc.

    Kommentar


    • #3
      Läuft die denn auch unter Windows und MacOS? Die CD soll es nälich für beide Systeme geben.

      Grüße,
      Andi

      Kommentar


      • #4
        das läuft da anders:
        du hast eine datenbank-datei, z.b. ne access- oder dbase-datei. über eine spezielle extension kannste dann auf die datenbank (besser gesagt auf die db-datei) zugreifen. ansonsten funktioniert der datenzugriff auf die einzelnen zeilen dann genauso wie bei einer 'richtigen' datenbank.
        durch diese funktionalität ist die datenbank dann auch unabhängig vom darunterliegenden system, ausserdem kannste die gleich mit auf die cd packen.

        Kommentar


        • #5
          Gut, aber ich brauche ja erst mal für beide Systeme ein Extra, was mit die Datenbank-Funktionalität zur Verfügung stellt.
          Habe das aber gerade noch mal hier besprochen, wir würden doch gerne nach Möglichkeit auf eine DB verzichten und das als reine Textsuche realisieren.
          Wo sich jetzt wieder das Problem meines ersten Threads zu diesem Thema stellt...

          Dank & Grüße,
          Andi

          Kommentar


          • #6
            wenn du das über die textdarsteller machen willst wird das ne heiden arbeit, von der performance ganz zu schweigen, aber hier mal paar kurze denkanstösse:
            den verschiedenen text-darstellern gibste eindeutige namen (text_1,text_2,text_3,...). dann musste in einer schleife, die über alle text-darsteller geht, einen vergleich mit dem suchwort vornehmen (ggf. musste noch den inhalt der text-darsteller aufsplitten und die einzelnen wörter vergleichen). auf die ergebnisse kannste dann über den member-name zugreifen.
            zur ergebnisanzeige würde ich keine sprünge verwenden, sondern die gefundenen text-darsteller so ausgeben, beispielsweise über eine ausgabe-maske. natürlich sollte dann die headline irgendwie (trennzeichen) vom eigentlichen text getrennt sein.

            was die lingo-befehle angeht, musste die mal selber raussuchen, da ich auch lange nix mehr mitm director zu tun hatte.


            ps.: das db-xtra is nur für den director, also plattformunabhängig.

            Kommentar


            • #7
              Na zu den einzelnen Bereichen muß man schon springen können, da sich je nach gefundener Seite die Navigation ändern muß. Habe mir das aber so überlegt, dass ich marker setze, die genau so heißen wie der entsprechende Darsteller. Dann lese ich den Namen des Darstellers aus und sage >gehe zu Marker (Darstellername). Das dürfte doch so gehen, oder?

              Kann ich denn auch nur Darsteller in einem eigtenen Cast durchsuchen. Schließlich gibt es ja auch Texte für Überschriften, impresuum etc. diese sollen nicht gefunden werden. Dann würde ich alle Texte, die durchsucht werden sollen, in einem eigenen Cast ablegen und würde dann sagen: durchforste alle Texte in der Cast XY.
              Ist so was möglich?
              Und dann die entscheidende Frage: Wie realisiere ich die Such-Funktion?
              Als ich mit Lingo anfing und aufhörte war Director noch bei Version 6. Seit dem hat sich ja einiges an Lingo verändert.

              Grüße,
              Andi

              Kommentar


              • #8
                mit dem springen zum marker dürfte so gehen.

                auf die members in einer speziellen castlib (z.b. nur für texte) kannste auch mit member() drauf zugreifen, glaub ich. irgendwie kann man die noch im member-argument mit angeben, die sind - glaub ich - nummeriert. musste mal im lingo-dic nachschauen, ich weiss das jetzt auch nicht mehr so genau.

                ansonsten hat sich in lingo seit der version 6 in den grundlegenden dingen nicht viel geändert.

                noch was zur suchfunktion: die auf die einzelnen mebers kannste auch über eine positionsnummer zugreifen. die könnteste schon mal als laufvariable für den schleifendurchlauf benutzen. die anzahl bekommste auch raus, also ist die grundschleife schon mal fertig. dann müsste halt nur noch ein vergleich der inhalte der text-member mit dem suchwort erfolgen - was ich jetzt ausm hut auch leider nicht weiss . das einzige, was mir einfällt sind if()then-anweisungen.

                Kommentar


                • #9
                  Ah, ok. Klar, erst mal eine Schleife deffinieren, die alle Mebers durchläuft. Innerhalb dieser Schleife muß dann meine Suchanfrage ablaufen.
                  Kann Director eigentlich reguläre Ausdrücke? Ich progrmmiere die letzten 2 Jahre in PHP, darum ist mein ganzes aktuelles Wissen PHP basiert.
                  Ich könnte dann mit einem ReExp prüfen, ob das eingegebene Wort auf irgendwo im Text-Member vorkommt. Wenn JA, wird den Name des Members in einem Arra gespeichert.
                  Dann muß ich dieses nur noch ausgeben... nächstes Problem
                  Angenommen ich ziehe mir zu dem gefundenen Member aus einem weiteren Cast die Überschrift mit gleichem Namen. Alle gefundenen "Überschriften" werden dann in einen neuen Textdarsteller geschrieben und ausgegeben. Wie verlinke ich nun aber den Text?
                  Kann ich denn in einem Textdartseller einzelne Worte oder Zeilen verlinken?

                  Dank & Grüße,
                  Andi

                  Kommentar

                  Lädt...
                  X