Enterprise Suchen in Webapplikationen

Post on 09-Feb-2016

33 views 0 download

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

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

Enterprise Suchen in WebapplikationenChristopher Supnig

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

Willkommen

Imagine a web without search engines

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

Was ist eine Enterprisesuche

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

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

Suche im Intranet

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

Unterschiede zur konventionellen WebSuche

Mehrere unternehmensinterne Datenquellen

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

Unterschiede zur konventionellen WebSuche

Zugriffsschutz

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

Unterschiede zur konventionellen WebSuche

Unternehmenswortschatz

Entwicklungsstraße…

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

Unterschiede zur konventionellen WebSuche

Datenklassifizierung und Dokumententypen

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

Unterschiede zur konventionellen WebSuche

Bewertungssystem

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

Suchlösungen

lGoogle Search AppliancelMicrosoft FAST SearchlApache Lucene / Solr

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

Suchlösungen

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

Suchlösungen

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

Suchlösungen

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

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

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

Schlüsselfaktoren bei der Planung

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

Schlüsselfaktoren bei der Planung

lEingesetztes Framework

l Kostenl Featuresl Erweiterbarkeit

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

Schlüsselfaktoren bei der Planung

lAufbereitung der Suchergebnisse

l Informationl Funktionl Design

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

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

Schlüsselfaktoren bei der Planung

lWortstammerkennung

l Sprachabhängig

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

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

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

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

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

Unter der Haube

lDer Lucene Index besteht aus

l Directoryl Documentsl Fields (Stored/Indexed)

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

Unter der Haube

lErstellen eines Lucene Index

l Crawlerl Custom Indexer

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

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

Unter der Haube

Lucene arbeitet mit Transaktionen.

Gleichzeitiges Suchen und Indizieren

Near-Real-Time Suchen

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

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

Unter der Haube

Wie sind wir es gewohnt mit einer Datenbank zu entwickeln?

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

Unter der Haube

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

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

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

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

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%

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

Noch Fragen?Vielen Dank!Christopher Supnig@csupnigwww.supnig.comhttps://github.com/csupnig/Solr-PHP-Example