doku fuer volltextsuche? wo?

Ich habe es geschaft: mein erster Volltextindex unter 8.3:

[php]create index idx_test on cidrcache
using gin(to_tsvector(‘english’,description));[/php]und abfragen kann ich ihn auch:
[php]select *
from cidrcache
where to_tsvector(‘english’,description)
@@to_tsquery(‘colleg’);[/php]der erste “richtig grosse” volltextindex wird eben erstellt.
aber was da passiert und wie man optimieren kann und wie ich coll% oder regexe suchen kann, das ist mir alles unklar.
die bestehende dokumentation ist alt und bezieht sich auf das alte TSearch oder ist so komplex, dass ich es nicht kapiere.

Gibt es sowas wie TSearch auf 8.3 für dummys ?
Eine FAQ?
Beispiele?

Ich wäre für alles dankbar.

tom

Du kannst in einem Volltextindex nicht mittels % suchen - der Name beruht auf der Grundlage, das du nach ganzen (voll) Wörtern suchst.

Wenn du mit % suchen möchtest, ist das ein komplett anderes Thema.
Auch wirst du mit dem % im Index nicht viel Glück haben, da die Wörter normalisiert im Index stehen und du deshalb womöglich gar keine Treffer landest.

Ja - das Thema mit den Lexemen habe ich im Grundsatz ausprobiert und kapiert. Eigentlich finde ich das sogar sehr charmant - jetzt hätte ich aber doch noch drei Fragen:

a) wie bringe ich dem index bzw. dem query zumindest deutsch/englisch/französisch bei, also wie suche ich quasi ins blaue in allen drei sprachen.
Wenn das möglich ist: Sind mehr sprachen praktikabel? - Die Suche läuft über mehr als 52 Millionen (kurze: max 300 Zeichen) Zeilen.

b) ist es möglich, die “unschärfe” im index oder im query zu justieren?

c) eine suche nach %stringteil% ist derzeit eine sehr langsame sache. man könnte auch sagen, es ist unpraktikabel. gibts dafür eine einfache lösung?
wieder unter obigen randbedingungen ~50 Mio Zeilen, überwiegend unter 20 Zeichen lang.

Cheers,

thomas

Du kannst (und musst wohl) für jede Sprache einen eigenen Index erstellen, da jede Sprache andere Werte im Index stehen hat. Die gespeicherte Grundform der Wörter ist anders.



b) ist es möglich, die “unschärfe” im index oder im query zu justieren?

Nein.
Du kannst deinen eigenen Parser für Lexeme schreiben, aber das ist nicht wirklich so einfach.



c) eine suche nach %stringteil% ist derzeit eine sehr langsame sache. man könnte auch sagen, es ist unpraktikabel. gibts dafür eine einfache lösung?
wieder unter obigen randbedingungen ~50 Mio Zeilen, überwiegend unter 20 Zeichen lang.

Aus dem Grund hat man ja eine Volltextsuche. Es gibt keine praktikable Lösung, mittels %% effektiv in einem Text zu suchen.