Suche Implementieren
-
Hallo Leute.
Hat jemand von euch interessante Ressourcen bezüglich einer Google-Like Suche?
Nach einzelnen Wörtern zu suchen ist für mich kein Problem, aber wie implementiert man die Suche nach Phrasen vernünftig? Ich meine, wirklich den ganzen Text durchscannen kann es ja nicht sein, weil das verdammt lahm wäre...einzelne Wörter zu inidzieren ist simpel - aber wie geht es mit ganzen Phrasen? Wie kann man einen "near"-Operator für die Suche implementieren der nur Wörter findet, wenn sie nicht mehr als x worte auseinander sind? usw.
gibt es da irgendwo gute theorie dazu? auch unscharfe suche wäre interessant, wobei ich hier schon einen ordentlichen ansatz habe.
bin für alle links/buch empfehlungen/etc. dankbar.
-
Vielleicht hilft Dir das:
http://www-db.stanford.edu/~backrub/google.html
Ich fand es damals wirklich interessant!
-
danke fuer den link!
interessante informationen ueber google, aber leider nichts verwertbares fuer mich.
denn pageranks usw. sind erstmal uninteressant und fuer meine anforderungen sind da sehr primitive ansaetze gut genug.
was mich interessiert ist hauptsaechlich, wie kann ich schnell nach verschiedenen sachen (einschliesslich ganzen phrasen) suchen? nach woertern geht es schon, ist auch ziemlich gut.
nur so features wie
zeige mir alle eintraege wo das wort "foo" in der naehe von "bar" steht oder zeige mir alle eintraege wo der satz "die katze ist im sack" vorkommt sind fuer mich ein grosses hindernis.denn ich weiss nicht, wie man das vernuenftig indizieren soll oder welche optimierungen man da vornehmen kann (bisher habe ich nur: suche alle eintraege wo alle diese worte vorkommen und dann mach ein bruteforce durchsuchen - das ist aber ein bisschen lahm)
-
Wenn Du noch ein paar Bytes Speicher pro Eintrag im Index opfern kannst, dann könntest Du Dir den Offset des Wortes in der Datei mitspeichern.
-
Jester schrieb:
Wenn Du noch ein paar Bytes Speicher pro Eintrag im Index opfern kannst, dann könntest Du Dir den Offset des Wortes in der Datei mitspeichern.
das wuerde ein paar sehr viel bytes mehr beanspruchen, wuerde aber das "near" suchen problem loesen. die frage ist nur, ob dadurch nicht zuviel speicher verschwendet wird
werde ich testen muessen.
nur ich will nicht das rad neu erfinden - es muss doch dazu irgendwelche studien oder so geben... ich kauf auch gerne ein gutes buch zum thema...
danke fuer eure hilfe.