32
NESTOR SWR Webarchiv 16.10.2013 © SWR NESTOR Workshop, 16.10.13 in Baden-Baden Dominik Frey HA Information, Dokumentation und Archive des Südwestrundfunks und des Saarländischen Rundfunks [email protected]

NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

Embed Size (px)

Citation preview

Page 1: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

NESTOR Workshop, 16.10.13 in Baden-Baden

Dominik Frey

HA Information, Dokumentation und Archive

des Südwestrundfunks und des Saarländischen Rundfunks

[email protected]

Page 2: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Agenda

• Webarchiv

– Wayback Integration

– Volltextsuche mit Solr

– Anwendung

• Twitterarchiv

– API Crawler

– Prozess

– Anwendung

• Ausblick: Online Monitoring

2

Page 3: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

SWR Webarchiv

• Seit 2009 Archivierung der Webangebote des SWR u.a. swr.de, swr3.de, einsplus.de

• Crawling-Dienstleister ist die Internet Memory Foundation (IMF)

• Hosting auf SWR internem Server

• Mehr als 12 Terabyte Daten und über 100 Millionen Dokumente im Index

• Zugriff via Wayback und Volltextsuche

3

Page 4: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

SWR Webarchiv – Startseite

4

Page 5: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Don't make me think!

• „Einfache“ Google Suche als Maßstab

• Suchfunktion erkennt automatisch ob Nutzer Volltextsuche oder URL-Suche meint.

5

Page 6: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Don't make me think!

• Erweiterte Suchoptionen erst in der Trefferansicht

6

Page 7: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Szenario – Suche nach URL

7

Page 8: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Szenario – Suche im Volltext

8

Page 9: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Ansicht einer archivierten Webseite

9

Page 10: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Integration von Wayback

• Wayback läuft auf einem Tomcat-Server

• Webarchiv-Anwendung liegt auf einem Apache-Webserver

• Apache-Server mit Proxy auf Wayback-Tomcat webarchiv/wayback/

• Wayback-Suche via Iframe eingebunden

10

Page 11: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Webarchiv Setup

11

Webarchiv GUI

Proxy / Iframe

Tomcat Tomcat

REST / JSON

Page 12: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Volltextsuche mit Solr

• Open Source Volltextsuche Solr http://lucene.apache.org/solr/

– sehr gute Performance

– hilfreiche Funktionen, u.a. Facetten, Relevanz-Gewichtung, Caching, mehrere Indizes

(MultiCore)

– umfangreiche Dokumentation

– viele Erweiterungen / Bibliotheken

• Setup-Aufwand

– Externer Programmierer entwickelte ein (W)ARC-Indexierungsprogramm in JAVA

– Der ArcHandler ist auf Basis des SolrRequestHandlers und des ArcReaders aus der Heritrix-

Library implementiert.

12

Page 13: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Solr Setup – Was soll indexiert werden?

13

Page 14: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Solr Setup – Was soll indexiert werden?

• Feldtypen

– Text wird analysiert von verschiedene Filtern z.B. WordDelimiterFilter mit Stop-Wörtern,

Synonymen und Stammformreduktion (Stemming)

– String wird nicht analysiert

– Datum

– Zahlen (float, int)

• Feldnamen <field name="ARC_CRAWLING_DATE" type="date" indexed="true" stored="true" multiValued="false"/>

<field name="content" type="text_general" indexed="true" stored="false" multiValued="false"/>

<field name="content_type" type="string" indexed="true" stored="true" multiValued="true"/>

<field name="title" type="text_general" indexed="true" stored="true" multiValued="true"/>

14

Page 15: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Solr Setup – Was soll nicht indexiert werden?

• Seitenfragmente, z.B. Popups, Mediaplayer, Iframes sollen nicht in den Suchindex

• arcHandler kann verschiedene Inhalte herausfiltern, dazu gibt es drei

Konfigurationsparameter:

– parseMimeTypes

– parseStatusCodes

– rejectByRegex

15

Page 16: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Solr Setup – Was soll nicht indexiert werden?

<arr name="parseMimeTypes">

<str>text/html</str>

<str>application/xml</str>

</arr>

<arr name="parseStatusCodes">

<str>200</str>

</arr>

<arr name="rejectByRegex">

<str>([0-9]+)(/)(http://www.swr3.de/wraps/suggest.php.*)</str>

<str>([0-9]+)(/)(http://www.swr3.de/)(.*vv=ecard.*)</str>

<str>([0-9]+)(/)(http://www.swr3.de/)(.*vv=zoomPopup.*)</str>

16

Page 17: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

User Interface (Grafische Benutzeroberfläche)

• Umgesetzt mit AJAX Solr https://github.com/evolvingweb/ajax-solr

• JavaScript Bibliothek für Kommunikation mit Solr-Server

• Verschiedene Module (Widgets)

– Ergebnisse

– Schlagwörter

– Facetten

– Blätter-Funktion

17

Page 18: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

User Interface – Setup

• Solr-Konfiguration via JavaScript

Manager.init();

Manager.store.addByValue('q', query);

var params = {

'rows' : '10',

'shards' : 's0000632:9080/solr/swr-2009,s0000632:9080/solr/swr-

2010,s0000632:9080/solr/swr-2011,s0000632:9080/solr/swr-2012, …',

'q.op' : 'AND',

'qf' : 'title^50.0 description^50.0 content',

facet: true,

'facet.field': ['Keywords'],

'facet.limit': 10,

'facet.mincount': 1,

' };

Manager.doRequest();

18

Page 19: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

User Interface – Suche

19

Page 20: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Social Media Archivierung

20

Page 21: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Social Media Archivierung

Vorteil: strukturierte Daten durch offene Programmierschnittstellen (APIs)

z.B. Tweet

"created_at": “Thu Oct 10 11:39:01 +0000 2013",

"id_str": " 388267420743241728 ",

"name": "Linksfraktion" ,

"text": "Ulrich Maurer: #SPD will Macht statt Politikwechsel - http://t.co/gMhCO4tVbK

#btw13 #sondierung",

"hashtags": [#SPD, #btw, #sondierung]

"url": http://t.co/gMhCO4tVbK

"expanded_url": " http://linksfraktion.de/kolumne/spd-will-macht-statt-politikwechsel/ ",

z.B. Facebook Nutzer & FQL

SELECT post_id, created_time, message, attachment FROM stream WHERE source_id=

72401171601

21

Page 22: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Social Media Archivierung

– Nachteil: Abhängigkeit von privaten Unternehmen

– Rate-Limits

– API-Änderungen

– Lizenzen

22

Page 23: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Technik & Workflow

API Crawler

Python Bibliotheken für Kommunikation mit Twitter API

Suche, Listen, Nutzer-Informationen

Twython https://github.com/ryanmcgrath/twython

API Blender (ARCOMEM) https://github.com/netiru/apiblender

Daten werden in MySQL-Datenbank gespeichert und von dort in Solr geladen

Vorteil: Datenbearbeitung via SQL und Integration von Offline-Modulen

z.B. Link-Titel extrahieren, Verschlagwortung

Suche mit AJAX Solr

Vorteil: schnelle Suche + einfache Integration in Webarchiv

http://wiki.apache.org/solr/DataImportHandler

23

Page 24: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Webarchiv Setup

24

Webarchiv GUI

Proxy / Iframe REST / JSON

Page 25: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Webarchiv Setup + Twitterarchiv

25

Webarchiv GUI

Proxy / Iframe REST / JSON

API Crawler

Page 26: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Twitterarchiv zur Bundestagswahl

26

Page 27: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Politiker im Twitterarchiv

27

Page 28: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Politikerprofil

28

Page 29: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Was twittern CSU-Politiker zum Veggieday?

29

Page 30: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Link zu Twitter

30

Page 31: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Welche Inhalte wurden zum Thema „Lampedusa“ geteilt?

31

Page 32: NESTOR Workshop, 16.10.13 in Baden-Baden - …files.dnb.de/nestor/veranstaltungen/Webarchivierung2013-10-18/1a... · Daten werden in MySQL-Datenbank gespeichert und von dort in Solr

NESTOR

SWR Webarchiv

16.10.2013 © SWR

Fazit

• Die Suchmaschine Solr kann ohne großen Aufwand in eine Wayback-Umgebung

eingebunden werden. Viele nützliche Funktionen sind bereits in der Basisversion

vorhanden.

• Social Media Inhalte können via API-Schnittstellen komfortabel archiviert werden. Die

strukturierten Daten vereinfachen die Weiterverarbeitung.

• Solr eignet sich sehr gut, um ein Social Media Archiv aufzubauen. Mit der

Suchmaschine können Tweets recherchiert und angezeigt werden.

• Social Media Archivierung bringt einen deutlichen Recherche- und Image-Mehrwert

für Webarchive.

32