Angepinnt Projekt #2: Solr/Lucene Integration

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Projekt #2: Solr/Lucene Integration

    Hey Team,
    Ich arbeite gerade an einer Integration von Solr und Nutch in easy-coding.de.
    Vielleicht hat ja der eine oder andere Lust mitzuhelfen!

    easy-coding basiert auf dem Woltlab Community Framework, einem sehr strikten PHP Framework mit vielen Möglichkeiten der Erweiterbarkeit.
    Implementiert man ein paar Schnittstellen kann man sein Modul einfach in die globale Suche und in das Tagging einbinden.
    Module sind z.B. das Forum, das Wiki, der Kalender, die Jobs oder das Literatur Plugin.

    Meine Solr Integration sieht wie folgt aus: trac.easy-coding.de/trac/wcf/b…/solr/files/lib/data/solr
    trac.easy-coding.de/trac/wcf/b…/solr/files/lib/data/solrMehr Informationen findet ihr unter: trac.easy-coding.de/trac/wcf/wiki/solr
    trac.easy-coding.de/trac/wcf/wiki/solr
    Ich habe mich gegen die Nutzung von EventListener entschieden um die Inhalte direkt zu pushen.
    Das hätte den Nachteil gehabt, dass man für jedes Modul eigene Events definieren muss.

    Ich wollte lieber am Interface ansetzen, das alle durchsuchbaren Module implementiert, dem SearchableMessageType.
    Damit kann ich mir ein Query bauen das den Index befüllt. Ein Cronjob sorgt dann später für die notwendigen Updates.

    Die Schnittstellen des "Crawlers" sind bereits fertig. Man kann den Index Status auslesen, neue Dokumente hinzufügen, etc.
    Die Schnittstellen für die eigentliche Suchfunktion sind leider noch nicht getestet. Hier warte ich auf die ersten gültigen Daten.
    Es sollte aber auch relativ einfach möglich sein, dass hier die Models und Templates der Module geladen werden.

    Da ich auch externe Ressourcen wie z.B. Handbücher, Tutorials und Blogs aufnehmen möchte, möchte ich einen gemeinsamen Index mit Nutch nutzen und das führt zu Grundsatzüberlegungen.

    Sollte man nun die Daten des WCF auf das schema von Nutch abbilden? Wo nehme ich dann den boost her und andere Werte her?
    Sollte man besser eine MultiCore Variante mit mehreren Schemata verwenden? Ich habe das Thema MultiCore nur überflogen...

    Evtl macht es sogar Sinn einen eigenen Parser zu schreiben (wie z.B. der PDF Parser), der die BBCodes mit Headlines/Formatierungen berücksichtigt.
    Das sehe ich aber definitiv erst in einer Version 2.0.

    Neben dem Contest Plugin, das schon seit fast einem Jahr nebenbei entwickelt wird, sehe ich bei dem Projekt keine großen Hürden einen schnellen und geilen Prototypen fertig zu stellen :)

    Vielleicht hat ja einer Lust mitzuhelfen und schon Ideen wie er sich integrieren kann.
    Ich bin mit Lucene und Solr noch nicht sehr bewandert und möchte es mit diesem Projekt erlernen :)

    Lg
    Dateien
    • solr100RC2.tar.gz

      (43,91 kB, 681 mal heruntergeladen, zuletzt: )