Ort-Suche mit PostgreSQL/PostGIS
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 31 | |
Author | ||
License | CC Attribution 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/15848 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
00:00
GeometryPostgreSQLComputer animation
00:58
GeometryCoordinate systemLiniePostgreSQLRadiusDistanceEmbeddingDebian GNU/LINUXVersion <Informatik>DownloadVersion <Informatik>Lösung <Mathematik>NumberPoint (geometry)ZahlComputer scienceRun-time systemInstallable File SystemPostgreSQLGoogleExecution unitAlgorithmVideo game consoleCoordinate systemDebian GNU/LINUXLinieRoute of administrationInterface (chemistry)RadiusQuery languageComputer animation
09:16
GeometryPostgreSQLCross-site scriptingSQLHTMLDjango <Informatik>ArchitectureAlgebraic closureWINDOWS <Programm>Atomic nucleusPostgreSQLLösung <Mathematik>Computer animation
09:40
SQLHTMLPostgreSQLDjango <Informatik>GeometryWorld Wide WebIndexGistRAMPOSIXString (computer science)Coordinate systemPolygonLinieRectangleLimit (category theory)Query languageComputer fileProcess capability indexCodeAlgorithmFederal Department for Media Harmful to Young PersonsInheritance (object-oriented programming)Film editingMischung <Mathematik>Workstation <Musikinstrument>CompilerMachine learningIndexTable (information)DemonDatabaseString (computer science)ProzentzahlFunction (mathematics)DialectData conversionExecution unitQuery languagePostgreSQLCoordinate systemLösung <Mathematik>AlgorithmZifferORACLSRaster graphicsInternetComputer animation
18:13
Inheritance (object-oriented programming)AlgorithmFederal Department for Media Harmful to Young PersonsCodeFilm editingGeometryWeight functionString (computer science)Partition of a setTerm (mathematics)PostgreSQLIndexGistData typeFunktionalitätWeight functionBoom (sailing)IndexSpeciesPropositional formulaMilitary operationLösung <Mathematik>Digital electronicsTable (information)Mach's principleForm (programming)Decision theoryComputer animation
26:46
GeometryWordComputer animation
27:44
PDF <Dateiformat>PostgreSQLGeometryPOWER <Computerarchitektur>ODF <Format>DesktopMicrosoftGoogleSupremumAirline <Programm>Computer animationXML
Transcript: German(auto-generated)
00:08
Perfekt. Dann gesendet hat es noch. Ja, wo ist der? Schalten muss ich noch hören. Genau. Ja, sehr schön.
00:23
Passt sich zur Uhr. Ich denke mal, das... ... gab ja schon einen kleinen Wechsel hier. Wir fangen auch gleich an. Stefan Wagner, dein zweiter Vortrag heute. Richtig. Und der Letzte danach ist dann Feierabend. Aber da können wir noch mal 20 Minuten schön zuhören und schön vortragen. Bitte schön.
00:40
Dankeschön. Ich staune, wie viele Hardcore-Konferenz-Teilnehmer da sind. Draußen schönes Wetter am See. Wieder Leute, die da baden. Es ist allerdings noch etwas kalt. Ich hoffe, ich kann eure Interesse hier an der Ortssuche befriedigen. Ziel des Vortrags ist, dass schlussendlich jeder heute Abend seine Kneipe hier in...
01:06
... Rapperswil findet, wo er sich wohlfühlt. Diese Ortsangaben hier werde ich am Schluss noch mal projizieren. Mit Ortssuche verhält es sich ähnlich wie mit Medikamenten.
01:20
Es gibt Medikamente, die wirken. Da weiß man, was es wirkt. Und da gibt es eins bis zwei Präparate, dann ist fertig. Das sind die Marktführer, das läuft. Dann gibt es Krankheiten, die sind etwas verschwommen. Da hat man Medikamente, die wirken unter gewissen Umständen. Da gibt es eine ganze Bandbreite. Beispielsweise Römer-Medikamente ist so was.
01:43
Das ist bei der Ortssuche identisch. Es gibt Abfragen, die sind klar. Das ist im Koordinatenbereich. Das ist mathematisch klar definiert. Da weiß man, was man machen muss. Und dann gibt es die Textsuche. Schon nur, was Sprache ist, was Text ist, wie man das schreibt.
02:01
Das ist alles etwas unklar. Da gibt es dann sehr viele Lösungen im Postgres. Ich habe vielleicht ein Dutzend Lösungen für euch bereit, die auf euch hineinrasseln. Es gibt sicher noch mehr Lösungen im linguistischen Bereich, wie man so etwas angehen kann. Deswegen hier.
02:21
Das, was ich bringe, sind Hinweise an den Elefantentreiber. Wie man das im spezifischen Fall für sich optimal lösen kann. Ortsbezeichnungen stehen nicht nur für sich, sondern haben Abhängigkeiten. Im Koordinatensystem ist das eigentlich klar.
02:42
Es gibt ein Referenzsystem, in das eingebettet ist. Im einfachsten Fall ein kardesisches Koordinatensystem. Die Einheiten müssen bekannt sein, sonst stimmt das Resultat auch nicht. Bei den Ortsnamen ist schon etwas diffuser. Klar ist Sprachabhängigkeit.
03:02
Je nach Sprache sieht das anders aus. Peking, geschrieben auf Chinesisch, sieht definitiv anders aus als auf Deutsch. Schreibweise, auch deutsche Begriffe, Orte, können unterschiedliche andliche Schreibweisen haben. Beispielsweise die Gemeinde, die ich wohne, heißt Ebnautkappel.
03:22
Mit Binderstrich, ohne Binderstrich, beides zulässig. Rechtschreibung, Tippfehler sind am Tage. Das weiß jeder. Dann gibt es noch eine Anfragegruppe. Ich habe doch gewusst, wie es heißt. Wie könnte es heißen, ich versuche mal, irgend so etwas Verschwommenes.
03:44
Ortsbezeichner, die lassen sich in einer gewissen Form klassifizieren. Im geografischen Bereich kann man einen Ort bezeichnen als Punkt, als geschlossene Linie oder als Fläche. Die Beispiele, die ich da bringe, beziehen sich auf den Punkt,
04:02
weil es am einfachsten ist für die Folie. Im Grundsatz ist das ja auch für die anderen Elemente das Gleiche mit gewissen Schwierigkeiten. Sprachlicher Umgang, Fribourg im Irchland, das ist eine Stadt in der Schweiz an der Sprachgrenze,
04:21
wird Deutsch und Französisch gesprochen. Es gibt da hier eine ganze Serie von Möglichkeiten, wie man das bezeichnen kann. Dann die Schwesterstadt Freiburg im Preisgau. Phonetisch tönt alles ähnlich. Also das Freiburg, was man auch nimmt,
04:40
ist immer das Gleiche. Ich habe mal testhalber eine Google-Anfrage gemacht. Einstellung Schweizerdeutsch nach Fribourg, also die französische Schreibweise. Was rauskommt, sind eigentlich nur Resultate Freiburg im Preisgau. Eigentlich nicht das, was ich wollte. Habe ich umgestellt, habe nicht Google CH angefragt,
05:02
sondern Google Frankreich, dann kommt das, was ich will. Nämlich das Schweizer Freiburg mit Beiträgen in Deutsch. Man sieht da jetzt an diesem kleinen Beispiel die Abhängigkeiten, je nachdem, was man annimmt, auch von dem, was der Suchende will,
05:27
wie die Resultate unterschiedlich sein können oder je nachdem auch unterschiedlich sein sollen. Die Gemeinsamkeit vom geografischen und sprachlichen, hier in ein paar wenigen Stichworten,
05:44
geografisch wie sprachlich ist die Nähe. Also bei einer Koordinaten ist klar, es gibt einen gewissen Radius innerhalb dem bewegen sich benachbarte Punkte, oder das, was man sucht, abhängig vom Suchpunkt, den man eingibt. Beim Sprachlichen hier, phonetisch, ist das Fribourg alles immer etwa gleich.
06:08
In der Informatik ausgedrückt nennt sich das nearest neighbor und seit Postgres 9.1 ist der Gistinsex aufgebohrt mit nearest neighbor Algorithmus.
06:22
K steht für Anzalelemente, also eine Suchanfrage, die man macht. Mit diesem Algorithmus liefert Hochpreferment eine gewisse Anzalelemente, die möglichst nah im Zentrum liegen zu dem, was man sucht, unabhängig von dem, ob es jetzt Koordinatensystem ist
06:42
oder eine textuelle Anfrage. Ein paar Hinweise. Vorhin schon bei der Google Anfrage darauf hingewiesen. Die Spracheinstellung beeinflusst das Resultat. Das gilt auch für Postgres. Je nachdem, wie ihr den Select-Up-Kit in welcher Umgebung sortiert,
07:04
ist anders, je nachdem werden auch andere Wörterbücher eingesetzt. Man muss darauf achten, was ihr da macht. Ich habe gesagt, ich präsentiere ein Baukasten von etwa 12 Lösungen. Am besten, wenn ihr eine Lösung macht, kombiniert ihr eins, zwei von diesen Lösungen,
07:23
allenfalls eine dritte noch, bettet das in eine Funktion ein. Ihr erleichtert euch das Leben und primär auch dem Anwender, der man schlussendlich eine Abfrage auf diesem Baukasten setzen muss. Und Autocomplete ist eine geniale Lösung, um das Problem zu umgehen.
07:44
Die letzte Meile ist die schwierigste, die man beschreiten muss. Wenn ihr interaktiv arbeitet, könnt ihr dem Anwender eine Auswahlliste geben, die fünf passendsten Begriffe. Im Normalfall weiß der Anwender deutlich besser als die Maschine,
08:01
welche der fünf letzten Begriffe jetzt für ihn passend ist. Viele der wirklich weiterführenden Anwendungen, die ich hier zeige, für die Suche sind Extensions zu Postgres. Deshalb nur ganz summarisch ein Exkurs zu den Extensions.
08:22
Die kann man entweder über das Dateisystem suchen oder man kann sie von der Konsole abfragen. Mit Extensions kann man das ab Postgres 9.1 laden, dass also nicht mehr das gefunden, was früher nötig war, ist nicht vorhanden. Ladet man sich das aus dem Kontrib von Postgres,
08:44
dort ist all das, was zum Chor gehört, drin. Und ansonsten kompiliert man das, wie wir das typischerweise, wir arbeiten unter Debian hauptsächlich, mit Postgres machen. Versionen, die ich mich da beziehe, von den Beispielen bekommen,
09:01
das ist Postgres 9.2, Postgres 2 und die unteren Bibliotheken, die sind seit Postgres 9.3 auf der Version 1 unverändert. Das heißt nicht, dass sie nicht brauchbar sind. Kurz zu mir als Abschluss der Einführung.
09:23
Ich komme von Ritos GmbH. Das ist im Osten der Schweiz, etwa 30 km von hier weg. Wir beschäftigen uns mit Web-Gis-Lösungen. Kern ist Postgres und Django, die Kombination. Was das Ganze läuft, irgendwann muss das auf ein System,
09:43
Systemarchitektur, Administration ist ein Teil unseres Angebots. Und wer am Samstag auf die Wanderung kommt, die Postgis-Wanderung, da wird den ersten Rast bei uns machen und bewertet werden. Das ist ein Vorteil, wir haben dort, wo Leute Ferien machen, dort arbeiten wir.
10:11
Was jetzt noch kommt, da werde ich schnell darüber hinweggehen. SQL, dem Standard, was da für Möglichkeiten gibt,
10:21
kennen wahrscheinlich die meisten, die da sind, einfach summarisch, weil es dazugehört. Und dann etwas eingehender, was Postgres spezifisch bietet, um Ortssuche durchzuführen. Das einfachste, was man machen kann, ist eine ganze Tabelle abzufragen
10:41
oder einzelne Spalten ganz rauszugeben. Das ist nicht wirklich weiterführend. Man kann das einschränken mit einer Wertklausel. Wenn man genau weiß, was in der Datenbank steht, nach was man sucht, ist man hier eigentlich schon am Ende, braucht man gar nicht mehr.
11:00
Wie wir an den Beispielen gesehen haben, ist das gerade beim Ortssuche vielfach nicht der Fall. Also sind wir froh, dass es noch weitere Lösungen gibt. Dass die Abfragen schnell funktionieren, setzt ein Index auf die Spalten, auf die ihr sucht.
11:22
Wie schon gesagt, ab Postgres 9.1 gibt es den Nearest-Neighbor-Index. Der ist ganz speziell geeignet für diese Art von Anfrage. Im PostGIS ist er so eingebaut, dass er verwendet werden kann.
11:41
Und im Full-Text-Search, dass da das letzte... Oh, das ist falscher Druck. ...das letzte, was wir da noch angehen werden. Ab Postgres 9.3 wird das Select direkt auf den Index möglich sein. Das ist auch wieder für Full-Text-Search wirklich ein tolles Feature,
12:04
dass man nicht zuerst den Index durchsuchen muss, dann auch die Tabelle und dann von der Tabelle die Ausgabe machen kann. Zu beachten, gerade bei diesem Index gibt es immer wieder, dass die Datenbank etwas anders macht, als man glaubt, sie macht es,
12:21
beachtet die Planausgabe und gibt genügend Remm der Datenbank, dass das Zeug auch funktioniert. Gerade die vorgestrittenen Algorithmen wie K&N, die fressen Remm, gibt der Maschine Platz. Eine etwas andere Form von case-when,
12:41
hier als Beispiel etwas geschrieben, für Sprachabhängigkeit zu holen, hier Ortsname Französisch, Ortsname D, in zwei verschiedenen Spalten, Ausgabe... Was ist das da, wieder Deutsch?
13:04
Dann erst mal etwas unscharf, ganz leicht unscharf. Like, e-like ist eigentlich eine gute Sache, wenn man das kombiniert mit autocomplete, dann ist das schon sehr leistungsfähig, wird schnell abgearbeitet
13:20
und gibt in vielen Fällen eine genügend scharfe Antwort. Das Prozentzeichen ist die wildcard, die da eingesetzt wird, kann irgendwo im String eingesetzt werden. Similar to, was vorher der Begriff war,
13:41
macht similar to auf der Zeichenkette. Auch hier ein paar Beispiele, um das zu illustrieren. Regular expression, sehr leistungsfähig, für mich ein rotes Tuch, obwohl ich fast wöchentlich mit dem zu tun habe.
14:01
Das Beispiel da unten, hier sucht nach Karlstraße mit C, K groß klein geschrieben, SZ soll vorkommen, ursprünglich wollte ich SZ ausklammen,
14:21
das Satzsystem hat das aber nicht richtig hingekriegt, das würde bedeuten, dass man hier ein Zircon Flex reinsetzen muss, das gleiche wie da vorne. Hier heißt es Alfang und hier heißt es für eine Negation, also wie man sowas machen kann, dann gibt es noch verschiedene Dialekte, aber wenn man es wirklich kann, wenn man es im Griff hat, sehr leistungsfähig.
14:45
Jetzt haben wir SQL gesehen, jetzt gehen wir zu Postgres. Koordinatendistanzen haben wir vorhin gesehen, Koordinatensystem, Einheiten ist wichtig, dass man das berücksichtigt.
15:01
Was vielfach vergessen wird, Postgres erkennt auch von Haus aus Geometrie-Typen und für einfache Sachen, solange man im kathesischen Koordinatensystem bleibt, kann man ohne Weiteres auch mit dem arbeiten und relativ gute Anfragen machen.
15:21
Macht man es im Postgres, hier als Beispiel mit dem Distanzoperator und mit KNN, hier für die 10 nächstgelegenen Punkte zum Testpunkt, Koordinatensystem,
15:41
10 Punkte, sieht die Anfrage so aus. Kurz und bündig gibt es das Resultat, das wir suchen. Kommen wir zur textuellen Suche. Die erste Extension, unaccent, sagt schon, was sie macht, nimmt die Accente raus, ist Teil von der Fulltext-Search,
16:05
hat man aber ausgegliedert, weil es viel genereller einsetzbar ist. Was von Fulltext-Search kommt, sieht man am Verzeichnis, die Konvertierungsregeln, die muss man anlegen, wenn man es will, wenn man mit dem Standard nicht zufrieden ist.
16:23
Es ist ein Filter, der die Accente nach diesen Regeln befreit. Also U kann man die Punkte wegnehmen, oder man kann U umschreiben nach UE, je nachdem, was man für sinnvoll erhält. Hier ein Beispiel, das geht so einfach
16:43
und gibt das Resultat, was man erwartet. Das ist etwas, was ich fast in jedem Fall empfehle, einzusetzen. Kommen wir zum Paket Fassistring Match, beinhaltet 3 Funktionsgruppen,
17:00
Soundex, Metafon und Levenstein. Soundex und Metafon beziehen sich auf die Aussprache, Levenstein auf die Anzahl Ersetzungsoperatoren, die nötig sind, um von 1 zu 2 zu kommen. Soundex, ein Ungestein von der Implementation 1918 und auch in Oracle seit Urzeiten drin,
17:22
deswegen auch sehr beliebt, bezieht sich in der Basis, so wie es auch in Postgres installiert ist, auf die englische Sprache, liefert aber französisch und deutsch brauchbare Ergebnisse. Es gibt auch im Internet Funktionen für Postgres gerade vorbereitet,
17:41
wo es dann spezifischer noch deutsch-phonetische Regeln drin hat. Die Umsetzung, der erste Buchstaben wird genommen und dann phonetisch umgesetzt, was hinterher kommt, mit 3 Ziffern. So einfach sieht die Aussprache aus.
18:01
Da man sieht, Fribourg französisch, Freiburg im Mückland und Fribourg, wie wir es hier sprechen, bietet das gleiche Resultat, F616, eigentlich das, was man gerne hätte. Distance ist ein Operator, der es erlaubt, gerade zwei Begriffe
18:21
parallel zu vergleichen und dann sagen, größer eine gewisse Gewichtung, identisch heißt 4. Wieso 4? Keine Ahnung. Das ist ein bekanntes Beispiel, wo die Grenzen sind, von Soundex bei Britney Spears
18:41
gibt das gleiche Resultat, wenn man es grammatikalisch richtig macht, das N wegnimmt, dann stimmt es allerdings nichts mehr, dann gibt es da 630. Metaphone macht das gleiche, einfach besser, deutlich moderner.
19:04
Er gibt auch die Möglichkeit einer Gewichtung, halte ich aber für die Ortssuche als nicht sinnvoll. Auch hier wieder ein Beispiel, hier kann man angeben, wie viele Zeichen von der phonetischen Darstellung man haben will. Und hier noch Double Metaphone,
19:22
ein Beispiel, das sind zwei ähnliche Algorithmen, die verwendet wird. Und je nachdem gibt es einen kleinen Unterschied, hier sieht man P und B sind nicht identisch. Dann Levenstein, das ist nur zur
19:41
Vollständigkeit, halte ich im Bereich der Ortssuche für nicht sehr leistungsfähig, schaut an, wie viel Operationen, Basisoperationen, was nötig sind, von Begriff 1 zum Begriff 2 zu kommen, also insert, delete, was gibt es noch,
20:00
ersetzen, das ist noch das dritte. Ist relativ langsam, weil bei jeder Suche durch die ganze Tabelle durchgerechnet werden muss, also sonst immer die ganze Operation durchgerechnet werden. Hier seht ihr für zwei Beispiele, die wir vorhin gehabt haben,
20:21
bei Soundex, was Soundex noch gut kann, ist hier weit entfernt mit 1 und 15. Trigramm, etwas sehr leistungsfähiges, drei Buchstaben werden angeschaut, sind die identisch oder nicht, also die ersten drei Buchstaben eines Wort, dann Buchstabe 2 bis 4, 3 bis 5,
20:42
wenn sie identisch sind, wird es die Beispiele gewertet. Das gibt dann zwischen 0 und 100% Übereinstimmung oder effektiv zwischen 0 und 1, das nennt man Dice-Koeffizient, das ist eine Lösung,
21:02
die gerade auch bei der Ortssuche sicher zu empfehlen ist und in vielen Fällen rasch und auch gute Resultate liefert. Hier noch beispielhaft könnt ihr euch ansehen, wie das funktioniert. Full Text Charge am Schluss,
21:20
ein sehr leistungsfähiges System, das relativ wenig eingesetzt wird, auch weil es Lösungen gibt, die außerhalb Postgres arbeiten. Die Resultatmenge sind in diesem Fall Dokumente, da sieht man schon, wie es ein kurzes String, der angeschaut wird,
21:41
sondern ganze Seiten von Dokumenten. Das ist komprimiert eine Suche nach einem Ortsbegriff. Die Basisfunktionalität, die das bietet, es werden Tokens, das ist ein Begriff, wie wir ihn kennen, auf Lexeme
22:00
reduziert. Ein Lexeme ist ein auf die Basis reduzierter Begriff, da werden Spopworks rausgenommen, wie UMPs oder der oder was auch immer. Es gibt Regeln, die kann man anpassen, wie man das haben will. Ich habe hier jetzt ein Beispiel genommen. Prey sur Roya schreibt man effektiv ohne EGÜ, wird dann reduziert auf
22:22
Prey sur Roya, es standardmässig weggenommen, weil es davon ausgeht, dass es im Französisch ein Tural ist. Ob man das haben will oder nicht, muss man dann im Einzelfall entscheiden. Das läuft auch mit dem KNN-Gistindex,
22:40
sehr performant. Suchanfrage über TS-Query gibt etwa einen guten Matching-Operator, der double ampersand ist der, der am meisten verwendet wird. Und wie zu erwarten, die Ausgabe des
23:02
Begriffs. Was auch hier sehr gut ist, es gibt Wörterbücher, die man einsetzen kann. Ein Synonymwörterbuch und Tesaurus, das ist von der Implementation so verlangt, dass das unterschiedlich ist.
23:21
Schlussendlich geht es immer darum, ein Begriff auf einen zweiten zu matchen. Und in der Ortssuche kann man das verwenden, um von einer Sprache auf die andere zu matchen. Es gibt diese Datei, also diese Synonym- und Tesauruswörterbuch für jede Sprache, legt man das an.
23:41
Da kann man also von vielen Sprachen auf die Zielsprache matchen, wenn etwas falsch ist, und hat dann effektiv die Zielsprache, die man will. Wenn man nach Florence sucht, hat man Florence auch, wenn einer Ferenz eingegeben hat.
24:01
Zum Schluss, das Verbindende in dieser ganzen Suche, ob es ein Ortsname ist oder eine Distanz, oder eine Koordinate, das ist immer Distanz. Die Nähe, die verbindet. Aus Sichtstandardsquels, so wie ich das erlebe,
24:20
was da geboten wird, ist quasi statisch. Also die Möglichkeiten sind stark eingeschränkt. Und die Alternativen, die man hat mit Postgres, die sind deutlich leistungsfähiger. Also die Soundex Metamorphon Full-Text Search on Extent. Das ist diese Baukasten, die ich euch
24:41
empfehlen kann. Mit Levenstein würde ich auslassen. Hier nochmal, dass ihr euch orientieren könnt, und im Anschluss auf diesen Talk lädt die Voskis ein, zu einem Sektemfang, vor allem denen zu empfehlen, die noch nicht Mitglied sind. Damit habe ich geschlossen.
25:12
Ich habe Vorgänge gegeben. Das Schlusswort mit dem ... ... ...
25:26
... ... ... ... ... ...
25:45
Das war ursprünglich der Plan, dass ich mit Stefan Keller zwei Vorträge mache. Einer Solar-Ussin und eine Post-SQL. Um das zu verglichen, hätte man dann einen Gruppsier gemacht. Ich selber habe auch nie mit diesem Baukasten gearbeitet.
26:02
Kann nicht direkt darauf eine Antwort geben. Nur, der aber so sagt, es hängt davon ab, wo man schon selten die Daten hat. Wenn man die Daten in Posters sehen hat, und dort arbeitet, dann ist es sinnvoll, dort gerade die Suche zu machen. Wenn man geht, sagt, aus jedem Welpenbündchen, man hat auf Applikationswebene nochmal einen Engine, der das Zeug macht, ist das auch eine Lösung.
26:29
Aber ich kann die Frage nicht beantworten, wo ich die Formen so richtig ausziehe. Manchmal werden die Daten auch für die Suchen speziell aufbereitet. Sehr oft, also wenn man zum Beispiel an Detail Warehouses anschaut, dann werden die Daten speziell auch denormalisiert.
26:44
Und das Starschema... Richtig, das ist Full-Tech Search. Ich bin es beim FUR schnell drüben gegangen. Macht das auch. Also, aus einer Seite, die dann vielleicht tausend Wörter hat, bleibt dann noch eine Seite mit 100 Wörtern, mit Rundtauchens, die dann noch übrig bleiben.
27:01
Das ist wichtig auch von der Performance her. Also, von den Rundtausenden, was ich weiss, von einem Vortrag zu diesem, ist das vergleichbar. Aber wie es dann wirklich erfolgsmässig aussieht, bin ich überfragt.
27:25
Aber ich sehe keine Meldung. Na dann, fröhliches Trinken.
27:57
Hast du wieder einen USB-Stick?
28:01
Den kann ich so sein lassen. Ja. Schönen Abend noch. Ja, aber kommst du nicht mehr? Äh, nein. Nein, ich tatsich. Also vielleicht rüge ich noch schnell vorbei, aber... Du bist auch Python-Entwickler, oder?
28:21
Äh, ich mache viel Python, ja. Aber auch nicht. Du hast vorhin kurz den Twitter-Kant angeschaltet und was von PyPy gesehen. Ja, ja, ja, ich mache. Ich bevorze Python eigentlich, aber schreibe meistens lang. Ja. Na, was, Skript? Ja, gleich. Ich muss nur kurz die Full-In überspielen.
28:49
Nach oben nochmal, weiß ich.
29:03
Wie soll der heißen? Irgendwie. Ich bin einfach mal Volker, dass man wieder weiß wird. Volker Giro Krautstein ist auf jeden Fall klar.
29:25
Keine Ahnung, die werden irgendwie bereitgestellt. Ja, aber das hätte ich sonst... Ich glaube, dabei kann ich sogar selber hochladen, oder? In das Pentabuff, glaube ich. Theoretisch. Gibt es ein Pentabuff? Stimmt. Und sonst irgendwie Slideshare oder so?
29:46
Super. Ja.