Enterprise Suchen in Webapplikationen

35
wdc_conference #wdc12 www.web-developer- conference.de www.web-developer- conference.de Enterprise Suchen in Webapplikatione Christopher Supnig

description

Enterprise Suchen in Webapplikationen. Christopher Supnig. Willkommen. Imagine a web without search engines. Was ist eine Enterprisesuche. Was ist eine Enterprisesuche Strukturierte und unstrukturierte Daten Einsatz im Unternehmen Integration in ein Intranet. Suche im Intranet. - PowerPoint PPT Presentation

Transcript of Enterprise Suchen in Webapplikationen

Page 1: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.dewww.web-developer-conference.de

Enterprise Suchen in WebapplikationenChristopher Supnig

Page 2: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Willkommen

Imagine a web without search engines

Page 3: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Was ist eine Enterprisesuche

Was ist eine EnterprisesuchelStrukturierte und unstrukturierte DatenlEinsatz im UnternehmenlIntegration in ein Intranet

Page 4: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Suche im Intranet

Page 5: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Unterschiede zur konventionellen WebSuche

Mehrere unternehmensinterne Datenquellen

Page 6: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Unterschiede zur konventionellen WebSuche

Zugriffsschutz

Page 7: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Unterschiede zur konventionellen WebSuche

Unternehmenswortschatz

Entwicklungsstraße…

Page 8: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Unterschiede zur konventionellen WebSuche

Datenklassifizierung und Dokumententypen

Page 9: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Unterschiede zur konventionellen WebSuche

Bewertungssystem

Page 10: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Suchlösungen

lGoogle Search AppliancelMicrosoft FAST SearchlApache Lucene / Solr

Page 11: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Suchlösungen

Page 12: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Suchlösungen

Page 13: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Suchlösungen

Page 14: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Schlüsselfaktoren bei der Planung

lSuchkonzept

l Was wird durchsuchtl Wer verwendet die Suchel Wo wird gesuchtl Wie soll gesucht werden

Page 15: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Schlüsselfaktoren bei der Planung

lSuche ist nicht nur Suche

l Semantische Anreicherungl Anzeige von verwandten Themen

Page 16: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Schlüsselfaktoren bei der Planung

Page 17: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Schlüsselfaktoren bei der Planung

lEingesetztes Framework

l Kostenl Featuresl Erweiterbarkeit

Page 18: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Schlüsselfaktoren bei der Planung

lAufbereitung der Suchergebnisse

l Informationl Funktionl Design

Page 19: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Schlüsselfaktoren bei der Planung

lLucene is schemaless – Let‘s design a schema!

l Mehrsprachigl Wortstammerkennungl N-Grams für Autocompletionl Metadatenl Abrisstextl Boostingl Berechtigunsinformationen

Page 20: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Schlüsselfaktoren bei der Planung

lWortstammerkennung

l Sprachabhängig

l Welcome => welcoml Welcomming => welcoml Welcomed => welcom

Page 21: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Schlüsselfaktoren bei der Planung

lLucene is schemaless – Let‘s design a schema!

l Mehrsprachigl Wortstammerkennungl N-Grams für Autocompletionl Metadatenl Abrisstextl Boostingl Berechtigunsinformationen

Page 22: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Schlüsselfaktoren bei der Planung

lN-Grams

l „Good morning“ => „Goo“, „ood“, „od „, „d m“, „ mo“,…

l Autocompletionl Alternative zu Wildcards

Page 23: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Schlüsselfaktoren bei der Planung

lLucene is schemaless – Let‘s design a schema!

l Mehrsprachigl Wortstammerkennungl N-Grams für Autocompletionl Metadatenl Abrisstextl Boostingl Berechtigunsinformationen

Page 24: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Unter der Haube

lDer Lucene Index besteht aus

l Directoryl Documentsl Fields (Stored/Indexed)

Page 25: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Unter der Haube

lErstellen eines Lucene Index

l Crawlerl Custom Indexer

Page 26: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Unter der Haube

l Umwandlung in Textl PDF => Textl HTML => Textl DOCX => Textl …

l Analyzerl Filterl Tokenizer

Page 27: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Unter der Haube

Lucene arbeitet mit Transaktionen.

Gleichzeitiges Suchen und Indizieren

Near-Real-Time Suchen

Page 28: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Unter der Haube

lQuery Syntaxl Terms and Fields content:apachel Boolean Operators (AND, +, OR, NOT, -)l Grouping (apache OR lucene) AND websitel Wildcards * / ?l Fuzzy lusene~l Proximity „a phrase“~10l Ranges [1 TO 100] {a to z}l Boosting I like lucene^4

http://lucene.apache.org/core/3_6_1/queryparsersyntax.html

Page 29: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Unter der Haube

Wie sind wir es gewohnt mit einer Datenbank zu entwickeln?

Page 30: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Unter der Haube

Den Index betrachtenl Luke http://code.google.com/p/luke/

Page 31: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Unter der Haube

Scoring in Lucene

ltf = term frequency in documentlidf = number of documents that contain the termlgetBoost(t in q) = boost of term in querylgetBoost(t.field in d) = boost of field in documentllengthNorm = norm value for a field => number of terms in fieldlcoord = score factor on fraction of query terms contained in documentlqueryNorms = norm value to make scores of different queries comparable

Page 32: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Unter der Haube

Wäre es nicht cool ein so starkes Framework zu verwenden?

Java LuceneLucene.NETLucene PHP Port by ZendSolr via REST

Page 33: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Praktisches Beispiel

Solr mit PHP ansprechen

http://lucene.apache.org/solr/downloads.htmlhttps://github.com/csupnig/Solr-PHP-Example

Page 34: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.de

Web Developer Conference 2012

jQuery Europe Conference 201322. und 23. February 2013 in Vienna

Todd ParkerjQuery mobile

Christian HeilmannMozilla

Mike TaylorOpera

Richard WorthjQuery UI

Sebastian KurfürstTYPO3

Theodore BiadalaDrupal

Doug NeinerjQuery core

Addy OsmaniYahoo

http://jquery-e

u-2013.eventbrite.co

m

code: WEBDEV12

die ersten 10 tic

kets -15%

Page 35: Enterprise Suchen in Webapplikationen

wdc_conference #wdc12 www.web-developer-conference.dewww.web-developer-conference.de

Noch Fragen?Vielen Dank!Christopher [email protected]://github.com/csupnig/Solr-PHP-Example