Drupal, Zoeken en Solr

Drupal, Zoeken en Solr

Ben me maar eens wezen verdiepen in een andere manier van zoeken binnen Drupal. De standaard zoekmethode is opzich prima als je er niet al teveel van verwacht. Het doet wat het moet doen met wat leuke extra functionaliteit zoals verfijnen op nodetype. Een andere manier van zoeken is via de module Faceted Search, zoals de naam al doet vermoeden zoek je middels facetten door je zoekresultaten. Wat inhoud dat je je zoekresultaten kunt trechteren totdat je een verfijnde set resultaten over hebt gehouden waar waarschijnlijk hetgeen tussen zit waar je naar opzoek was. Voor Drupal 6 is deze module opzich prima, behalve dan dat het een bitch is om aan te passen. Nog een groot nadeel is dat Drupal 6 de laatste versie is die de module ondersteund. Voor Drupal 7 bestaat deze module niet en zijn er ook geen plannen om het te porten naar D7.

Solr

Solr, een naam die je veel tegenkomt wanneer je gaat zoeken op zoekmethodes binnen Drupal, of het nou 6 of 7 is. Het grootste nadeel van deze methode is dat het een server nodig heeft die de Solr applicatie, want dat is het in feite, heeft draaien. Het is een Java applet die je binnen en webserver kan laten draaien. Voordeel hiervan is dat je je eigen webserver, waar de site op draait, ontlast door het indexeren en zoeken daar niet plaats te laten vinden. Via een Drupal module leg je contact met je server, daar stuur je dan je content heen en de Solr module maakt dan een logische zoekindex van je brei. Bij het zoeken binnen Drupal stuurt de module een simpel commando naar de server en die stuurt op zijn beurt een xml bestand terug met de gesorteerde zoekresultaten. Klinkt allemaal heel simpel en dat is het eigenlijk ook. Een server heb je zo opgezet en de connectie met die server is een kwestie van het invullen van drie invoervelden in de Drupal Module. Maar ja dan moet je wel ergens een servertje hebben liggen, of bereidt zijn ergens een vm aan te maken. De werking voor de gebruiker van de website komt bijna overeen als die van de Faceted Search module. Groot voordeel is dat er standaard een "bedoelt u..." en een autocomplete beschikbaar voor zijn. Met de komst van Google een hot item voor veel zoekmachines. Eenmaal een zoekopdracht gestart is het dus mogelijk deze te trechteren totdat een acceptable aantal zoekresultaten over zijn.

Stap je dus over naar Drupal 7 of heb je een website die intensief bezocht wordt waar je een goede zoekmethode wilt hebben, dan kan je het beste Solr gebruiken.

CCK

Na wat onderzoek blijken de CCK velden ook netjes meegenomen te worden in de zoekindex. Aanpassingen in welk veld dan ook resulteerd in een aanpassing van de zoekindex. Wanneer je je cron goed hebt ingesteld zullen deze wijzigingen automatisch worden meegenomen.

De server

Ik heb het getest op een Ubuntu Desktop editie, versie 10.10. Na het volgen van een korte tutorial had ik een Jetty server draaien met de Solr module.

Multicore

Multicore oftewel meerdere indexen van, bijvoorbeeld verschillende websites, is achteraf ook niet zo heel moeilijk achteraf. Simpel een .xml bestand aanmaken met daarin de locaties en namen van de verschillende cores, een symlink naar de locatie van de indexdata en gaan met die banaan. Aan de front-end dan nog even aangeven met welke core je een connectie wilt maken je bent klaar om je website te laten indexeren.

Wat links

Reactie toevoegen

Plain text

  • Geen HTML toegestaan.
  • Adressen van webpagina's en e-mailadressen worden automatisch naar links omgezet.
  • Regels en alinea's worden automatisch gesplitst.
Met het versturen van dit formulier accepteer je de Mollom privacy policy.