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


Integrationskomponente imxTools Tag 2.2.0 released

Autor*in: Bastian Schwarz


Technologie


Heute wurden von mir, mit Vorarbeit von Bastian die Services zur Abfrage des Schneeforums bereitgestellt. Es wird als Erweiterung dazu bald noch Object-Wrapper geben, die im Portal dann verwendet werden. Diese Wrapperobjekte erfüllen zwei Ziele. Zum einen bieten sie einige Shortcuts (auf z.B. i18N-Objekte) und schon Funktionalitäten um konstante Stringwerte auf portalspezifische Resource-Keys zu mappen …


Beitrag lesen
25
NOV
11

Open Graph Tags in der imx.Library

Autor*in: Bastian Schwarz


Technologie


Soeben habe ich eine neue Version des MetainfoGenerators bereitgestellt, der einen Builder und einen Renderer für die Open Graph Tags beinhaltet. Die Logiken zur Einbindung sind nicht im „Mock“-Smartyplugin enthalten, da die Logik sich von Portal zu Portal unterscheiden kann. Wicht dafür ist, dass die Open Graph Tags mind. aus title, image, url und type …


Beitrag lesen
04
SEP
12

iOS Probleme mit transition

Autor*in: Florian Müller


Technologie // User Experience & Design


Heute ist mir bei einem Projekt ein Problem mit iOS begegnet. Es gibt eine Galerie, bei welcher die Elemente von oben „hereinfliegen“. Auf dem iPad und dem iPhone war dieser Effekt kaum beziehungsweise gar nicht vorhanden, sondern das Bild war einfach *plopp* da. Problem hierbei ist, dass transitions bei iOS ohne Hardware Beschleunigung gerendert werden. …


Beitrag lesen
28
SEP
16

Out now: gråd extra, Ausgabe 4!

Autor*in: Christine Pfleger


infomax   //   Projekte   //   Strategie & Konzeption   //   Technologie   //   Tourismus   //   Über den Tellerrand   //   User Experience & Design


gråd extra - Das Magazin für e-Tourism | Ausgabe 4 | 2018 | Schwerpunkt "Ideen"
gråd extra - Das Magazin für e-Tourism | Ausgabe 4 | 2018 | Schwerpunkt "Ideen"

Es ist geschafft und wir sind sowas von stolz: Die vierte Ausgabe unseres Magazins gråd extra ist erschienen! Auf 78 Seiten haben wir uns ganz und gar dem Schwerpunkt „Ideen“ verschrieben.


Beitrag lesen
07
DEZ
18