350 likes | 458 Views
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.
E N D
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
Unterschiede zur konventionellen WebSuche Mehrere unternehmensinterne Datenquellen
Unterschiede zur konventionellen WebSuche Zugriffsschutz
Unterschiede zur konventionellen WebSuche Unternehmenswortschatz Entwicklungsstraße…
Unterschiede zur konventionellen WebSuche Datenklassifizierung und Dokumententypen
Unterschiede zur konventionellen WebSuche Bewertungssystem
Suchlösungen • Google Search Appliance • Microsoft FAST Search • Apache Lucene/ Solr
Schlüsselfaktoren bei der Planung • Suchkonzept • Was wird durchsucht • Wer verwendet die Suche • Wo wird gesucht • Wie soll gesucht werden
Schlüsselfaktoren bei der Planung • Suche ist nicht nur Suche • Semantische Anreicherung • Anzeige von verwandten Themen
Schlüsselfaktoren bei der Planung • Eingesetztes Framework • Kosten • Features • Erweiterbarkeit
Schlüsselfaktoren bei der Planung • Aufbereitung der Suchergebnisse • Information • Funktion • Design
Schlüsselfaktoren bei der Planung • Luceneisschemaless – Let‘s design a schema! • Mehrsprachig • Wortstammerkennung • N-Grams für Autocompletion • Metadaten • Abrisstext • Boosting • Berechtigunsinformationen
Schlüsselfaktoren bei der Planung • Wortstammerkennung • Sprachabhängig • Welcome => welcom • Welcomming => welcom • Welcomed => welcom
Schlüsselfaktoren bei der Planung • Luceneisschemaless – Let‘s design a schema! • Mehrsprachig • Wortstammerkennung • N-Grams für Autocompletion • Metadaten • Abrisstext • Boosting • Berechtigunsinformationen
Schlüsselfaktoren bei der Planung • N-Grams • „Goodmorning“ => „Goo“, „ood“, „od „, „d m“, „ mo“,… • Autocompletion • Alternative zu Wildcards
Schlüsselfaktoren bei der Planung • Luceneisschemaless – Let‘s design a schema! • Mehrsprachig • Wortstammerkennung • N-Grams für Autocompletion • Metadaten • Abrisstext • Boosting • Berechtigunsinformationen
Unter der Haube • Der Lucene Index besteht aus • Directory • Documents • Fields (Stored/Indexed)
Unter der Haube • Erstellen eines Lucene Index • Crawler • Custom Indexer
Unter der Haube • Umwandlung in Text • PDF => Text • HTML => Text • DOCX => Text • … • Analyzer • Filter • Tokenizer
Unter der Haube • Lucene arbeitet mit Transaktionen. • Gleichzeitiges Suchen und Indizieren • Near-Real-Time Suchen
Unter der Haube • Query Syntax • Terms and Fields content:apache • Boolean Operators (AND, +, OR, NOT, -) • Grouping(apache OR lucene) AND website • Wildcards * / ? • Fuzzylusene~ • Proximity„a phrase“~10 • Ranges [1 TO 100] {a to z} • BoostingI like lucene^4 • http://lucene.apache.org/core/3_6_1/queryparsersyntax.html
Unter der Haube Wie sind wir es gewohnt mit einer Datenbank zu entwickeln?
Unter der Haube • Den Index betrachten • Luke http://code.google.com/p/luke/
Unter der Haube Scoring in Lucene • tf = term frequency in document • idf = number of documents that contain the term • getBoost(t in q) = boost of term in query • getBoost(t.field in d) = boost of field in document • lengthNorm = norm value for a field => number of terms in field • coord = score factor on fraction of query terms contained in document • queryNorms = norm value to make scores of different queries comparable
Unter der Haube Wäre es nicht cool ein so starkes Framework zu verwenden? Java Lucene Lucene.NET Lucene PHP Port byZend Solr via REST
Praktisches Beispiel Solr mit PHP ansprechen http://lucene.apache.org/solr/downloads.html https://github.com/csupnig/Solr-PHP-Example
jQuery Europe Conference 201322. und 23. February 2013 in Vienna Todd Parker jQuery mobile Richard Worth jQuery UI Sebastian Kurfürst TYPO3 Christian Heilmann Mozilla Mike Taylor Opera Doug Neiner jQuery core http://jquery-eu-2013.eventbrite.com code: WEBDEV12 die ersten 10 tickets -15% AddyOsmani Yahoo Theodore Biadala Drupal Web Developer Conference 2012
Noch Fragen? Vielen Dank! Christopher Supnig @csupnig www.supnig.com https://github.com/csupnig/Solr-PHP-Example