imx.Search: der neue ad-hoc Index-Update-Service

Datum: 3. Dezember 2014
Autor*in: Marc Kurzmann


Bisher war es bei imx.Search so, dass Änderungen in den Contents aus den Produkten nur nach einer kompletten Neu-Indizierung im Index verfügbar waren – üblicherweise über Nacht. Was für einen reinen Volltext-Suchmaschineneinsatz von imx.Search vielleicht noch akzeptabel ist, wenn Suchbegriffe mit einem Tag Verspätung gefunden werden, so ist es bei der Verwendung als Filter-Suchmaschine, so wie es mittlerweile bei allen unseren neueren und größeren Portalen geschieht, eher lästig, dass die Daten nicht gleich auffindbar sind, weil insbesondere auch keine saubere Portal-Prüfung direkt nach Eingabe möglich wird.

imx.Search unterstützt ab Version 3.6.0 (17.11.2014) den neuen ad-hoc Index-Update-Service. Die Funktionsweise ist wie folgt:

  • Änderungen aus den Produkten wird imxSearch über einen Service-Aufruf mitgeteilt: http://[imxsearch]/[lang]/imxsearch?method=scheduledUpdate&connectorId=…&objectId=…&lang=…
    Der Parameter lang ist optional; falls er weggelassen wird, wird auf die unterstützten Sprachen des [lang]-cores zurückgegriffen. Der connectorId ist imx.Search-Instanz individuell, typsicherweise z.B. imxtools2, imxcms etc.
  • imx.Search fügt diese Änderungsinformation in seine Update-Queue ein.
  • Alle 3 Minuten wird ein Schedule-Job in imx.Search gestartet, der die nächsten 100 Änderungs-Einträge aus der Queue entnimmt, die geänderten Objekte aus den entsprechenden Content-Quellen (Produkten) erneut abfragt und in den Index zurückschreibt. Ein Änderungs-Eintrag muss mindestens 30 Sekunden alt sein, damit er für den Schedule-Job berücksichtigt wird.
  • Die Queue erfasst max. 5000 Einträge. Alle Änderungsmitteilungen, während einer vollen Queue werden ignoriert. Das soll verhindern, dass bei riesigen Massenupdates der ad-hoc Index-Update für viele Stunden blockiert ist. Bei riesigen Imports ist es sinnvoll, den Ad-hoc-Update-Service zu blockieren und danach die Blockade wieder aufzuheben. Dazu gibt es den Service
    http://[imxsearch]/[lang]/imxsearch?method=scheduler&run=[true/false]
    Idealerweise finden solche Massenimports vor einem frischen Komplett-Index-Lauf statt.

Warum der Scheduler?

Der Scheduler sorgt dafür, dass sich durch Massenänderungen nicht plötzlich das ganze System aufschaukelt und dann unter der Last zusammenbricht. Bei Massen-Änderungen wie es sie z.B. bei Imports gibt, füllt sich zwar schnell die Queue, diese wird dann aber peau-a-peau in sog. „Chunks“ (100er-Einheiten) abgearbeitet, was die Spitzenlast deutlich reduziert. Dadurch, dass bei Massen-Änderungen die Queue schnell über die Chunk-Größe steigen kann, kann es passieren, dass in solchen Fällen ein Update im Index erst zu einem späteren Zeitpunkt und nicht schon beim nächsten Schedule-Job-Lauf durchgeführt wird.

Zur Aktivierung des neuen Ad-hoc-Index-Update-Services sind zwei Dinge zu tun
1. Update auf die neue imx.Search-Version >= 3.6.0
2. Aktivierung über die Konfiguration in den Produkten (imx.Tools, imx.EventManager, imx.CMS)

Hier läuft der neue Ad-hoc-Index-Update-Service bereits:

  • NÖW
  • byTM (Anbindung imx.Tools)
  • weitere Projekte werden nach und nach folgen [wenn es hier Wünsche zur Priorisierung gibt, dann teilt es mir bitte mit].

Dieser Artikel wurde verschlagwortet unter:


Kommentare

Selber kommentieren:






Weitere Beiträge zum Thema Technologie


Photoshop-Ebenenstile als CSS3-Code exportieren

Autor*in: Michael Degener


Technologie   //   User Experience & Design


Ob Designer oder Entwickler, jeder der schon einmal eine Screen-Vorlage mit all seinen Ebenen mittels HTML und CSS zum Leben erwecken musste, hat sich insgeheim sicherlich schon einmal gewünscht, dass sich dabei manche Arbeitsschritte beschleunigen ließen. Wer kennt sie nicht, die allgegenwärtigen Buttons in Formularen, Teasern und Schnellsuchen. Von runden Ecken über Konturen und Schlagschatten …


Beitrag lesen
03
AUG
12

imx.Platform Lab: Nah dran

Autor*in: Christine Pfleger


Strategie & Konzeption   //   Technologie


imx.Platform Lab

Unser Anwender*innenforum imx.Platform Lab am 24. Januar in Grassau und am 26. Januar in Hamburg versprach Blicke hinter die Kulissen und in die Glaskugel: Wir teilten mit den Gästen die aktuellsten Entwicklungen der imx.Platform und holten aus erster Hand Feedback für die Weiterentwicklung der imx.Platform ab. Unser Ziel: Ganz nah an unseren Kundinnen und Kunden sein und eine Lösung für ihre täglichen Herausforderungen im touristischen Datenmanagement liefern.


Beitrag lesen
31
JAN
23

Preload – was bringts?

Autor*in:


Technologie


Im Laufe der Umsetzung des Grassau-Portals habe ich mich mal mit Preloading im html auseinandergesetzt. Benutzt wird das Ganze, um Resourcen wie z.B. Styles, Fonts etc. effizienter laden zu können und somit die Performance zu verbessern. Der Vorteil gegenüber dem ja inzwischen schon etwas älteren Prefetching ist, dass im Tag ein Type angegeben wird, der …


Beitrag lesen
28
FEB
17

Apple Touch Icons nutzen

Autor*in: Bastian Schwarz


Projekte // Technologie // User Experience & Design


Ich habe mal ein wenig recherchiert und möchte hier das Ergebnis mitteilen. Die Apple Touch Icons können generell benutzt werden um Apps oder Webseiten auf z.B. den Startbildschirm zu pinnen. Ist bei der Webseite dann ein solches Icon hinterlegt wird das „Lesezeichen“ mit ihm hinterlegt und man erhält so einen schönen Wiedererkennungswert. Generell sollten die …


Beitrag lesen
17
OKT
12