Christian Kruse: Archiv-Suchmaschine: Modell-Diskussion

Beitrag lesen

Hallo Andreas,

Warum sollte man Woerter doppelt speichern? Du kannst
stattdessen die Wertigkeit mitspeichern, in einer
weiteren Spalte.
Das hatte ich jetzt Michaels Aussage entnommen, dass man
nur eine Tabelle verwendet, mit je Wort => Posting_ID, und
dann könnte man über Wort einen Index legen ung hätte dann
auch sowas wie eine logarithmische Suche, da im Index ja
auch nur jedes Wort 1 mal vorkommt,

Warum sollte in einem Index jedes Wort nur einmal vorkommen?
Das ist Quark. Natuerlich ist dem *nicht* so.

Der Fulltext-Index ist eine Blackbox. Wie genau er
funktioniert, ist doch eigentlich unwichtig.
Naja, ich verstehe halt nicht wieso er so langsam
ist/bleibt!

Du hast wenig Speicher und eine langsame HD. Wenn du den
Prozess verfolgst (per top oder strace), wirst du
wahrscheinlich feststellen, dass die meiste Zeit fuer biow
und bior drauf geht.

Erst durch Caching wird das ganez schnell,

Ja, aber nicht das Cachen der Such-Anfragen, sondern das
Cachen des Indexes.

Ich überlege halt eienn Fulltext-Index
manuell in einer, bzw. 3 Tabellen nachzubilden. Das würde
ich dann wenigstens verstehen und könnte das entsprechend
versuchen anzupassen.

Versuchs.
Wenigsten hast du jetzt gemerkt, dass eine Datenbank *nicht*
das wunderbare Allheilmittel ist und das eine DB durchaus
ihre Grenzen hat und nicht fuer alle Einsatzgebiete geeignet
ist.

Das ist das was sowohl mein Filesystem als auch der
MySQL-Cache tut, nur wenn man sich mal so Suchanfragen
ansieht, dann sind die doch sehr verschieden.

Du hast nicht genuegend Daten, um wirklich konkrete
Ergebnisse vorweisen zu koennen.

Das Problem ist das ca. 90% der Suchanfragen sehr selten
sind. Die kann an nicht alle im Cache halten, die 10% die
öfter sind, gut, aber die nicht gecachten seltenen
Anfragen müssen jedesmal im kompleten Index gesucht
werden, der Volltext Index für den gesamten Self-Raum
hätte bestimmt 250 MB, der müßte dann also komplett einmal
geparst werden, durchsucht werden und dann müßten die
Daten der Ergebnisse noch aus der Tabellen-Datei von der
Platte geholt werden, aber das ist dann das geringste
Problem. ODer habe ich das jetzt total faslch verstanden?
ODer muß der Index nicht geparst werden?

Kannst du jetzt das ganze nochmal mit Punkt und Komma fragen?
Ich habe kein Wort verstanden.

OK, aber woher weiß ich jetzt welche 10 Byte ich
genau raushole?
Das ergibt sich aus deiner Datei-Struktur.
was? Welche Dateistruktur? Ich rede hier von einer
Datenbank?!

Na und? :) Auch eine Datenbank-Datei hat eine Struktur.

Nehmen wir mal einen Baumartigen Index. Das Dateiformat
kann man so anlegen, dass man den Baum direkt anlegen
kann. Wenn ich jetzt dem Pfad folge, hole ich immer nur
genau die Teile von der HD, die ich als naechstes
brauchen werde. Das kann ich z. B. erreichen, indem ich
bei jedem Knoten mitspeichere, wo die naechste Node zu
finden ist. Das kann im einfachsten Fall ein Pointer
sein und im schlimmsten Fall ein Dateiname mit einem
Byte-Index.
Also wird beim MySQL Volltext irgendwie ein binärer Baum
auf der Festplatte gespeichert,

Unwahrscheinlich. Eher ein B-Baum.

und der wird dann halt durchsucht (das meine ich mit
logarithmisch im Gegensatz zum succesiven Durchsuchen
einer Tabelle).

Ja.

Aber das müßte doch tierisch schnell sein,

Nicht zwingend. Bei unguenstigen Daten kann der Baum halt
sehr schnell degenerieren.

Gruesse,
 CK

0 124

gereizte Stimmung im Forum?!

Stefan Alfke
  • zu diesem forum
  1. 0
    molily
    • menschelei
    1. 0
      Christian Seiler
      1. 0
        Mathias Bigge
        1. 0
          Dave
        2. 0
          Michael N.
      2. 0
        Phil
        1. 0
          Fabian Transchel
          1. 0
            Phil
            1. 0
              Mathias Bigge
              1. 0
                Chräcker Heller
                1. 0

                  würzlastige Erben Amins

                  Mathias Bigge
    2. 0
      Christoph Schnauß
  2. 0
    Chräcker Heller
    1. 0
      Dave
      1. 0
        Mathias Bigge
      2. 0
        Fabian Transchel
        1. 0
          Dave
          1. 0
            Christian Seiler
            1. 0
              Orlando
              1. 0
                Christian Seiler
  3. 0
    Franz
  4. 0
    Lude
    1. 0
      Christian Kruse
      1. 0
        Lude
        1. 0
          Christian Kruse
          1. 0
            Lude
            1. 0
              Fabian Transchel
              1. 0
                Lude
                1. 0
                  Fabian Transchel
            2. 0
              Christian Kruse
              1. 0
                Lude
                1. 0
                  Dave
                2. 0
                  Mathias Bigge
                  1. 0
                    Christian Kruse
                  2. 0
                    Lude
  5. 0
    Stefan Alfke
    1. 0
      Chräcker Heller
      1. 0
        Sonia
        1. 0
          Chräcker Heller
          1. 0

            Kritik an der FAQ - Kurzfassung erforderlich?

            Mathias Bigge
            1. 0
              Chräcker Heller
              1. 0
                Christian Seiler
                1. 0
                  Chräcker Heller
                2. 0
                  Michael Schröpl
                  1. 0
                    Lude
                    1. 0
                      Michael Schröpl
                      1. 0
                        Lude
                        1. 0

                          FAQ - verfolgung unterschiedlicher Ziele!

                          Sonia
                        2. 0
                          Michael Schröpl
                      2. 0
                        Andreas Korthaus
                        1. 0
                          Michael Schröpl
                          1. 0
                            Andreas Korthaus
                            1. 0
                              Michael Schröpl
                              1. 0
                                Lude
                              2. 0
                                Andreas Korthaus
                                1. 0
                                  Michael Schröpl
                                  1. 0
                                    Andreas Korthaus
                                    1. 0

                                      Archiv-Suchmaschine: Modell-Diskussion

                                      Michael Schröpl
                                      • programmiertechnik
                                      1. 0
                                        Andreas Korthaus
                                        1. 0
                                          Michael Schröpl
                                          1. 0
                                            Andreas Korthaus
                                            1. 0
                                              Christian Kruse
                                              1. 0
                                                Andreas Korthaus
                                                1. 0
                                                  Christian Kruse
                                                  1. 0
                                                    Andreas Korthaus
                                                    1. 0
                                                      Christian Kruse
                                                      1. 0
                                                        Michael Schröpl
                                                        1. 0
                                                          Christian Kruse
                                                          1. 0
                                                            Michael Schröpl
                                                            1. 0
                                                              Christian Kruse
                                                              1. 0
                                                                Michael Schröpl
                                                              2. 0
                                                                Michael Schröpl
                                                                1. 0
                                                                  Christian Kruse
                                                                  1. 0
                                                                    Michael Schröpl
                                                                    1. 0
                                                                      Christian Kruse
                                                                      1. 0
                                                                        Michael Schröpl
                                                                        1. 0
                                                                          Christian Kruse
                                                                          1. 0
                                                                            Michael Schröpl
                                                    2. 0
                                                      Michael Schröpl
                                                2. 0
                                                  Michael Schröpl
                                                  1. 0
                                                    Daniela Koller
                                                    1. 0
                                                      Christian Kruse
                                                      1. 0
                                                        Daniela Koller
                                                        1. 0
                                                          Christian Kruse
                                                          1. 0
                                                            Daniela Koller
                                                            1. 0
                                                              Christian Kruse
                                                              1. 0
                                                                Daniela Koller
                                                                1. 0
                                                                  Christian Kruse
                                                                2. 0
                                                                  Michael Schröpl
                                                                  1. 0
                                                                    Andreas Korthaus
                                                                    1. 0
                                                                      Christian Kruse
                                                                  2. 0
                                                                    Daniela Koller
                                                              2. 0
                                                                Michael Schröpl
                                                                1. 0
                                                                  Christian Kruse
                                              2. 0
                                                Michael Schröpl
                                                1. 0
                                                  Christian Kruse
                                                  1. 0
                                                    Michael Schröpl
                                                    1. 0
                                                      Christian Kruse
                                                      1. 0
                                                        Michael Schröpl
                                                        1. 0
                                                          Christian Kruse
                                                          1. 0
                                                            Michael Schröpl
                                                            1. 0
                                                              Christian Kruse
                                                              1. 0
                                                                Christian Kruse
                                                                1. 0
                                                                  Michael Schröpl
                                                                  1. 0
                                                                    Christian Kruse
                                                                    1. 0
                                                                      Michael Schröpl
                                                                      1. 0
                                                                        Christian Kruse
                              3. 0
                                Mathias Bigge
                    2. 0
                      Mathias Bigge
                      1. 0
                        Lude
              2. 0
                molily
                1. 0
                  Chräcker Heller
                  1. 0
                    Sonia
  6. 0
    Kai Lahmann
    1. 0
      Chräcker Heller
      1. 0
        Kai Lahmann
    2. 0
      Daniel
      1. 0
        Kai Lahmann
        1. 0
          Daniel
          1. 0
            Kai Lahmann
            1. 0
              Daniel
              1. 0
                Kai Lahmann
  7. 0
    Chef