search met solr
DESCRIPTION
This slideshow offers an introduction into the use of Solr with Drupal.TRANSCRIPT
SEARCH MET SOLRDRUPALJAM 17 MEI 2013
JUR DE VRIES TRIQUANTA
PROGRAMMAWie ben ikWat verwachten we van een zoekmachine?Andere oplossingenWat biedt Solr?Drupal integratieDemoTaal: belangrijk!Extend de basis
WIE BEN IK?Jur de VriesDeveloper bij en mede-oprichter van TriquantaMede-organisator Drupal Tech TalkGespecialiseerd in Solr samen met DrupalSites gebaseerd op Solr
Nationale ombudsmanMaastrichtnetGemeentemuseum: zoekmachine MuS
Migraties, custom modules, koppelingen etc.
WAT VERWACHTEN WE (JULLIE) VANEEN ZOEKMACHINE
Veel (alles) wat google biedt:AutocompleteSpellings suggestiesGoede relevantieRanges (afgelopen jaar)Snelheid!
FacetsStemming...
ANDERE OPLOSSINGENGoogle
Database search
Op Lucene gebaseerde oplossingen
GOOGLEGoogle site search
Betaald (vanaf $100,-- per jaar)Makkelijk op te zettenGoogle technology!
Google Search ApplianceBetaald (hoeveel??)Indexeert bijna allesGoogle technology! (Dat kent de bezoeker!)Mooie gele doos :-)
MAAR...
Stel je wilt een auto voor boodschappen...
Caterpillar maakt goede trucks...
Maar maken ze ook goede boodschappen auto's?
Kleine boodschappen???
NADELEN GOOGLEWat voor groot werkt, werkt niet altijd voor klein
Geoptimaliseerd voor het hele web!
Duur
Weinig instelmogelijkheden
Wat gebeurt er onder de motorkap???
We waren toch Open Source?
DATABASE SEARCHStandaard Drupal search sucksSearch API (contrib) database search beterSchaalbaarheid slecht!!!Spellings suggesties? NeuhFacets? moeilijkStemming? moeilijk
OP LUCENE GEBASEERDE OPLOSSINGEN
Lucene is de zoekmachine waarop Solr draait!
Apache NutchGoogle-achtig: webpagina'sNiet geschikt voor ons doel
Elastic searchGelijkwaardig aan Solr
ELASTIC SEARCH?
SOLR
WAT IS SOLR?Gebaseerd op LuceneApache LuceneTM is a high-performance, full-featured text search engine library writtenentirely in Java. It is a technology suitable for nearly any application that requires full-text search, especially cross-platform.
Draait in java servlet container, bijvoorbeeld tomcat of jetty.Rest interface
WAT KAN SOLRSnel zoekenNear realtime indexingResult highlightingFacetsSpellings suggestions (did you mean?)AutocompleteSearch in files (met Apache Tika)StemmingGeospatial searchMore like thisRelevantie tweaking!
AJAX
FACETS
STEMMING
Vossen -> vos
Lopen -> loop
DRUPAL SOLR INTERACTIEDrupal zend entities naar Solr
Solr indexeert entity (node)Drupal doet zoekvraag naar Solr via GET
Solr zend resultaten terug naar Drupal (json, xml, php)Drupal parsed resultaten en geeft weer
INSTALLATIEDownload solr (4) van http://lucene.apache.org/solr/ (NIET DE SOURCE)
Download de apachesolr module (of search api met search api solr)
Pak solr uit
Kopieer de configuratie bestanden vanuit de apachsolr module naar:
Enable de module
DEMO
IS HET ZO SIMPEL?
Ja, maar let op!
TAALWat was stemming ook alweer?
In welke taal gebeurt dit???
En wat doen we met woorden als de, het en een??
We moeten de configuratie van Solr aanpassen!
Schrik niet, valt mee!
Slechts 2 regels...
Schema.xml
MAAR WORDT BIJNA ALTIJD
VERGETEN!!!
SCHEMA.XMLDefinieert type veldenDefinieert hoe tekst velden geanalyseerd wordenStemming: solr.SnowballPorterFilterFactory Dutch of KpStopwords: pas stopwords.txt aan
DEMO
BEVEILIGINGDit werkt lokaalProbleem op productie server??Document injectionZet poorten dicht! (8983, 8080)
RELEVANTIEMeest recente artikelen hogere score
Ene node type relevanter dan andere
Hoeveelheid commentaar
Allemaal in te stellen!
RELEVANTIE 2Solr biedt meer mogelijkheden tot relevantie tweaking:Specifieke documenten bovenaanBoost functionsBoost queriesSpecifieke ranking parametersMet kennis van Solr relatief simpel aan te passen
EXTEND SOLR MET
ANDER CONTRIBSDocumenten doorzoeken: Apache Solr AttachmentsDoor meerdere site zoeken: Apache Solr Multisite searchGeospatial search: Apache Solr LocationAutocomplete: Apache Solr Autocomplete
VIEWS INTEGRATIE!Gebruik Apache Solr ViewsGoed voor performance!Geen database queries nodig!Voorbeeld: Maastrichtnet
CONCLUSIEAls je een goede zoekmachine wil: Solr!
VRAGEN?