<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title><![CDATA[Mike Pellegrini - Elasticsearch Labs]]></title>
    <description><![CDATA[Articles and tutorials from the Search team at Elastic]]></description>
    <copyright><![CDATA[© 2026. Elasticsearch B.V. All Rights Reserved]]></copyright>
    <image>
      <title><![CDATA[Mike Pellegrini - Elasticsearch Labs]]></title>
      <url>https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt1121c0bf0e8a6e65/6a88da6340a1841030ef456f/search-labs-thumbnail.png</url>
      <link>https://www.elastic.co/de/search-labs/author/mike-pellegrini</link>
    </image>
    <link>https://www.elastic.co/de/search-labs/author/mike-pellegrini</link>
    <atom:link href="https://www.elastic.co/de/search-labs/rss/author/mike-pellegrini.xml" rel="self" type="application/rss+xml"/>
    <language><![CDATA[de]]></language>
    <lastBuildDate>Tue, 22 Sep 2026 19:38:55 GMT</lastBuildDate>
  <item>
    <title><![CDATA[Hybride Suche ohne Probleme: Vereinfachte hybride Suche mit Retrievern]]></title>
    <description><![CDATA[Erfahren Sie, wie Sie die hybride Suche in Elasticsearch mit einem mehrfeldrigen Abfrageformat für lineare und RRF-Retriever vereinfachen und Abfragen erstellen können, ohne vorher Kenntnisse über Ihren Elasticsearch-Index haben zu müssen.]]></description>
    <content:encoded><![CDATA[<p><a href="https://www.elastic.co/what-is/hybrid-search">Die hybride Suche</a> gilt weithin als leistungsstarker Suchansatz, der die Präzision und Geschwindigkeit der <a href="https://www.elastic.co/search-labs/blog/lexical-and-semantic-search-with-elasticsearch#lexical-search---sparse-retrieval">lexikalischen Suche</a> mit den Möglichkeiten der <a href="https://www.elastic.co/what-is/semantic-search">semantischen Suche</a> im Bereich der natürlichen Sprache kombiniert. Die praktische Anwendung gestaltet sich jedoch oft schwierig und erfordert häufig fundierte Kenntnisse über den Index sowie die Erstellung ausführlicher Abfragen mit komplexen Konfigurationen. In diesem Blogbeitrag werden wir untersuchen, wie das <a href="https://www.elastic.co/docs/reference/elasticsearch/rest-apis/retrievers#multi-field-query-format">Mehrfeld-Abfrageformat für lineare und RRF-Retriever die</a> hybride Suche vereinfacht und zugänglicher macht, häufige Probleme beseitigt und es Ihnen ermöglicht, ihre volle Leistungsfähigkeit leichter auszuschöpfen. Wir werden auch untersuchen, wie das Abfrageformat mit mehreren Feldern es Ihnen ermöglicht, hybride Suchanfragen durchzuführen, ohne vorher Kenntnisse über Ihren Index zu haben.</p><h2>Das Problem der Punktespanne</h2><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt3521a6558cd477ca/6a17f174445de94d3c4d0225/c8b49153c47d2cdc233c0d2e440db04711d48ca5-1600x1600.jpg" alt="" /><p>Um die Ausgangslage zu verdeutlichen, betrachten wir zunächst einen der Hauptgründe, warum die hybride Suche schwierig sein kann: die variierenden Bewertungsbereiche. Unser alter Bekannter <a href="https://www.elastic.co/elasticon/conf/2016/sf/improved-text-scoring-with-bm25">BM25</a> liefert unbegrenzte Ergebnisse. Mit anderen Worten: BM25 kann Werte generieren, die von nahe 0 bis (theoretisch) unendlich reichen. Im Gegensatz dazu liefern Abfragen gegen <code>dense_vector</code> -Felder Ergebnisse im Bereich zwischen 0 und 1. Erschwerend kommt hinzu, dass <code>semantic_text</code> den Feldtyp verschleiert, der zur Indizierung von Einbettungen verwendet wird. Daher ist es ohne detaillierte Kenntnisse über die Konfiguration Ihres Index und Inferenzendpunkts schwierig abzuschätzen, in welchem Bereich die Ergebnisse Ihrer Abfrage liegen werden. Dies stellt ein Problem dar, wenn versucht wird, lexikalische und semantische Suchergebnisse zu verschachteln, da die lexikalischen Ergebnisse Vorrang vor den semantischen haben können, selbst wenn die semantischen Ergebnisse relevanter sind. Die allgemein anerkannte Lösung für dieses Problem besteht darin, die Werte vor der Verschachtelung der Ergebnisse zu normalisieren. Elasticsearch bietet hierfür zwei Tools an: den <a href="https://www.elastic.co/docs/reference/elasticsearch/rest-apis/retrievers/linear-retriever">linearen</a> und <a href="https://www.elastic.co/docs/reference/elasticsearch/rest-apis/retrievers/rrf-retriever">den RRF-</a> Retriever.
</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt09ed6bf3d25066bd/6a17f1750b0bedbd70dd3686/264481268c8b6ac259e3c257b85431b513f16672-1077x586.png" alt="Vergleich der Suchergebnisse mit linearer/rrf-Funktion vs. ohne lineare/rrf-Funktion" /><p>Der <strong>RRF-</strong> Retriever wendet den <a href="https://www.elastic.co/docs/reference/elasticsearch/rest-apis/reciprocal-rank-fusion">RRF-Algorithmus</a> an, wobei der Dokumentenrang als Relevanzmaß verwendet und der Score verworfen wird. Da die Punktzahl nicht berücksichtigt wird, stellen Abweichungen im Punktzahlbereich kein Problem dar.</p><p>Der <strong>lineare</strong> Retriever verwendet eine lineare Kombination, um die endgültige Punktzahl eines Dokuments zu bestimmen. Dabei wird für jede einzelne Abfrage die Punktzahl der Komponenten des Dokuments ermittelt, normalisiert und anschließend summiert, um die Gesamtpunktzahl zu erhalten. Mathematisch lässt sich die Operation wie folgt ausdrücken:</p>Total Score = 𝚺(N(Sx))<p>Dabei ist <code>N</code> die Normalisierungsfunktion und SX die Punktzahl für die Anfrage X. Die Normalisierungsfunktion ist hierbei von zentraler Bedeutung, da sie die Punktzahl jeder Abfrage so transformiert, dass sie denselben Wertebereich verwendet. <a href="https://www.elastic.co/search-labs/blog/linear-retriever-hybrid-search">Hier</a> erfahren Sie mehr über den linearen Retriever.</p><h2>Aufgeschlüsselt</h2><p>Mit diesen Tools können Benutzer eine effektive Hybridsuche implementieren, dies erfordert jedoch gewisse Kenntnisse über ihren Index. Betrachten wir ein Beispiel mit dem linearen Retriever, bei dem wir einen Index mit zwei Feldern abfragen:</p>PUT linear_retriever_example
{
  "mappings": {
    "properties": {
      "semantic_text_field": { &lt;1&gt;
        "type": "semantic_text",
        "inference_id": ".multilingual-e5-small-elasticsearch"
      },
      "text_field": { &lt;2&gt;
        "type": "text"
      }
    }
  }
}<p>1. <code>semantic_text_field</code> ist ein <code>semantic_text</code> -Feld, das <a href="https://www.elastic.co/docs/explore-analyze/machine-learning/nlp/ml-nlp-e5">E5</a>, ein Text-Embedding-Modell, verwendet.</p><p>2. <code>text_field</code> ist ein Standard- <code>text</code> -Feld</p>GET linear_retriever_example/_search
{
  "retriever": {
    "linear": {
      "retrievers": [
        {
          "retriever": {
            "standard": {
              "query": {
                "match": { &lt;1&gt;
                  "semantic_text_field": "foo"
                }
              }
            }
          },
          "normalizer": "minmax"
        },
        {
          "retriever": {
            "standard": {
              "query": {
                "match": {
                  "text_field": "foo"
                }
              }
            }
          },
          "normalizer": "minmax"
        }
      ]
    }
  }
}<p>1. Wir verwenden eine <code>match</code> -Abfrage für unser <code>semantic_text</code> -Feld, dessen <a href="https://www.elastic.co/search-labs/blog/semantic-search-match-knn-sparse-vector#we-made-match-happen-in-semantic-search!">Unterstützung wir in Elasticsearch 8.18/9.0 hinzugefügt haben.</a></p><p>
Bei der Erstellung der Abfrage müssen wir berücksichtigen, dass <code>semantic_text_field</code> ein Text-Embedding-Modell verwendet, sodass alle Abfragen darauf eine Punktzahl zwischen 0 und 1 generieren. Wir müssen außerdem wissen, dass <code>text_field</code> ein Standardfeld <code>text</code> ist und dass Abfragen darauf eine unbegrenzte Punktzahl erzeugen. Um ein Ergebnis-Set mit der richtigen Relevanz zu erstellen, müssen wir einen Retriever verwenden, der die Abfrage-Scores normalisiert, bevor er sie kombiniert. In diesem Beispiel verwenden wir den linearen Retriever mit <code>minmax</code> -Normalisierung, der den Score jeder Abfrage auf einen Wert zwischen 0 und 1 normalisiert.</p><p>Die Abfragekonstruktion in diesem Beispiel ist recht einfach, da nur zwei Felder beteiligt sind. Allerdings kann es sehr schnell kompliziert werden, wenn weitere Felder unterschiedlicher Art hinzugefügt werden. Dies zeigt, dass das Schreiben einer effektiven hybriden Suchanfrage oft ein tieferes Verständnis des abgefragten Index erfordert, damit die Punktzahlen der einzelnen Suchanfragen vor der Kombination richtig normalisiert werden. Dies stellt ein Hindernis für die breitere Akzeptanz der hybriden Suche dar.</p><h3>Abfragegruppierung</h3><p>Erweitern wir das Beispiel: Was wäre, wenn wir ein <code>text</code> -Feld und zwei <code>semantic_text</code> -Felder abfragen wollten? Wir könnten eine Abfrage wie diese erstellen:</p>GET linear_retriever_example/_search
{
  "retriever": {
    "linear": {
      "retrievers": [
        {
          "retriever": {
            "standard": {
              "query": {
                "semantic": {
                  "field": "semantic_text_field_1",
                  "query": "foo"
                }
              }
            }
          },
          "normalizer": "minmax"
        },
        {
          "retriever": {
            "standard": {
              "query": {
                "semantic": {
                  "field": "semantic_text_field_2",
                  "query": "foo"
                }
              }
            }
          },
          "normalizer": "minmax"
        },
        {
          "retriever": {
            "standard": {
              "query": {
                "match": {
                  "text_field": "foo"
                }
              }
            }
          },
          "normalizer": "minmax"
        }
      ]
    }
  }
}<p>Das klingt auf den ersten Blick gut, aber es gibt ein potenzielles Problem. Die Treffer im Feld <code>semantic_text</code> machen nun ⅔ der Gesamtpunktzahl aus:</p>Total Score = N(semantic_text_field_1 score) + N(semantic_text_field_2 score) + N(text_field score)<p>Das ist wahrscheinlich nicht das, was Sie wollen, denn dadurch entsteht ein unausgewogenes Ergebnis. Die Auswirkungen sind in einem Beispiel wie diesem mit nur 3 Feldern möglicherweise nicht so deutlich erkennbar, aber es wird problematisch, wenn mehr Felder abgefragt werden. Beispielsweise enthalten die meisten Indizes weitaus mehr lexikalische als semantische Felder (d. h. <code>dense_vector</code>, <code>sparse_vector</code>, oder <code>semantic_text</code>). Was wäre, wenn wir einen Index mit 9 lexikalischen Feldern und 1 semantischen Feld nach dem oben genannten Muster abfragen würden? Die lexikalischen Übereinstimmungen würden 90 % der Punktzahl ausmachen und somit die Effektivität der semantischen Suche beeinträchtigen.</p><p>Eine gängige Methode, um diesem Problem zu begegnen, besteht darin, Anfragen in lexikalische und semantische Kategorien zu gruppieren und beide gleich zu gewichten. Dadurch wird verhindert, dass eine der beiden Kategorien die Gesamtpunktzahl dominiert.</p><p>Lasst uns das in die Praxis umsetzen. Wie sähe dieser Ansatz mit gruppierten Abfragen in diesem Beispiel bei Verwendung des linearen Retrievers aus?</p>GET linear_retriever_example/_search
{
  "retriever": {
    "linear": {
      "retrievers": [
        {
          "retriever": {
            "linear": {
              "retrievers": [
                {
                  "retriever": {
                    "standard": {
                      "query": {
                        "semantic": {
                          "field": "semantic_text_field_1",
                          "query": "foo"
                        }
                      }
                    }
                  },
                  "normalizer": "minmax"
                },
                {
                  "retriever": {
                    "standard": {
                      "query": {
                        "semantic": {
                          "field": "semantic_text_field_2",
                          "query": "foo"
                        }
                      }
                    }
                  },
                  "normalizer": "minmax"
                }
              ]
            }
          },
          "normalizer": "minmax"
        },
        {
          "retriever": {
            "standard": {
              "query": {
                "match": {
                  "text_field": "foo"
                }
              }
            }
          },
          "normalizer": "minmax"
        }
      ]
    }
  }
}<p>Wow, das wird aber ausführlich! Möglicherweise mussten Sie sogar mehrmals auf- und abscrollen, um die gesamte Abfrage zu prüfen! Hier verwenden wir zwei Normalisierungsebenen, um die Abfragegruppen zu erstellen. Mathematisch lässt sich dies wie folgt ausdrücken:</p>Total Score = N(N(semantic_text_field_1 score) + N(semantic_text_field_2 score)) + N(text_field score)<p>Diese zweite Normalisierungsebene stellt sicher, dass die Anfragen an die Felder <code>semantic_text</code> und <code>text</code> gleich gewichtet werden. Beachten Sie, dass wir in diesem Beispiel die Normalisierung zweiter Ebene für <code>text_field</code> weglassen, da es nur ein lexikalisches Feld gibt, wodurch Sie sich <em>noch mehr</em> Ausführlichkeit ersparen.</p><p>Diese Abfragestruktur ist schon jetzt unhandlich, und wir fragen nur drei Felder ab. Je mehr Felder man abfragt, desto unübersichtlicher wird es, selbst für erfahrene Suchmaschinenexperten.</p><h2>Das Abfrageformat mit mehreren Feldern</h2><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt5d9007d279f0da29/6a17f17714d90c39cf79b6f5/dd04e1686076a574b717c1460acfe4eb79299208-1600x1600.jpg" alt="" /><p>Um das Ganze zu vereinfachen, haben wir das <a href="https://www.elastic.co/docs/reference/elasticsearch/rest-apis/retrievers#multi-field-query-format">Multi-Field-Abfrageformat</a> für die linearen und RRF-Retriever in Elasticsearch 8.19, 9.1 und <a href="https://www.elastic.co/cloud/serverless">Serverless</a> hinzugefügt. Sie können die gleiche Abfrage wie oben nun mit folgendem Befehl durchführen:</p>GET linear_retriever_example/_search
{
  "retriever": {
    "linear": {
      "fields": [ "semantic_text_field_1", "semantic_text_field_2", "text_field" ],
      "query": "foo",
      "normalizer": "minmax"
    }
  }
}<p>Dadurch verkürzt sich die Abfrage von 55 Zeilen auf nur noch 9! Elasticsearch verwendet automatisch die Indexzuordnungen für:</p><ul><li><p>Ermitteln Sie den Typ jedes abgefragten Feldes.</p></li><li><p>Ordnen Sie jedes Feld einer lexikalischen oder semantischen Kategorie zu.</p></li><li><p>Jede Kategorie sollte im Endergebnis gleich gewichtet werden.</p></li></ul><p>Dies ermöglicht es jedem, eine effektive hybride Suchanfrage auszuführen, ohne Details über den Index oder die verwendeten Inferenzendpunkte kennen zu müssen.</p><p>Bei Verwendung von RRF kann das <code>normalizer</code> weggelassen werden, da der Rang als Indikator für die Relevanz dient:</p>GET rrf_retriever_example/_search
{
  "retriever": {
    "rrf": {
      "fields": [ "semantic_text_field_1", "semantic_text_field_2", "text_field" ],
      "query": "foo"
    }
  }
}<h2>Steigerung pro Spielfeld</h2><p>Bei Verwendung des linearen Retrievers können Sie eine Gewichtung pro Feld anwenden, um die Wichtigkeit von Übereinstimmungen in bestimmten Feldern anzupassen. Nehmen wir beispielsweise an, Sie fragen vier Felder ab: zwei <code>semantic_text</code> -Felder und zwei <code>text</code> -Felder:</p>GET linear_retriever_example/_search
{
  "retriever": {
    "linear": {
      "fields": [ "semantic_text_field_1", "semantic_text_field_2", "text_field_1", "text_field_2" ],
      "query": "foo",
      "normalizer": "minmax"
    }
  }
}<p>Standardmäßig wird jedes Feld innerhalb seiner Gruppe (lexikalisch oder semantisch) gleich gewichtet. Die Punkteverteilung sieht wie folgt aus:</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltdc6e197e5ff7b68d/6a17f179505ac32834ad8c46/ba31c76189e3a1e5b1638437ccf0528aafec2598-1600x549.png" alt="Vergleich von Abfragegruppen und Feldwerten" /><p>Mit anderen Worten: Jedes Feld macht 25 % der Gesamtpunktzahl aus.</p><p>Mit der Syntax <code>field^boost</code> können wir jedem Feld einen feldbezogenen Boost hinzufügen. Wenden wir einen Boost von 2 auf <code>semantic_text_field_1</code> und <code>text_field_1</code> an:</p>GET linear_retriever_example/_search
{
  "retriever": {
    "linear": {
      "fields": [ "semantic_text_field_1^2", "semantic_text_field_2", "text_field_1^2", "text_field_2" ]
      "query": "foo",
      "normalizer": "minmax"
    }
  }
}<p>Die Aufschlüsselung der Punkte sieht nun wie folgt aus:</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltccc9ed7d6e865a5e/6a17f17abe6086a31d004882/de20e555d52f914bf483a048d056f54f4fece757-1600x549.png" alt="Feldgewichtung mit Referenz- und Hybridsuche geändert" /><p>Jede Abfragegruppe ist weiterhin gleich gewichtet, aber die Feldgewichtung innerhalb der Gruppen hat sich geändert:</p><ul><li><p><code>semantic_text_field_1</code> entspricht 66 % der Punktzahl der semantischen Abfragegruppe und 33 % der Gesamtpunktzahl.</p></li><li><p><code>text_field_1</code> macht 66 % der Punktzahl der lexikalischen Abfragegruppe und 33 % der Gesamtpunktzahl aus.</p></li></ul><p>ℹ️ Beachten Sie, dass sich die Gesamtpunktzahl nicht ändert, wenn ein Bonus pro Feld angewendet wird. Dies ist ein beabsichtigter Nebeneffekt der Score-Normalisierung, der sicherstellt, dass lexikalische und semantische Anfrage-Scores direkt miteinander vergleichbar bleiben.</p><p>ℹ️ Die feldbezogene Gewichtung kann auch mit dem RRF-Retriever in Elasticsearch 9.2+ verwendet werden.</p><h3>Wildcard-Auflösung</h3><p>Sie können das Platzhalterzeichen <code>*</code> im Parameter <code>fields</code> verwenden, um mehrere Felder abzugleichen. Um das obige Beispiel fortzuführen: Diese Abfrage ist funktional äquivalent zur expliziten Abfrage von s<code>emantic_text_field_1</code>, <code>semantic_text_field_2</code>, und <code>text_field_1</code> :</p>GET linear_retriever_example/_search
{
  "retriever": {
    "linear": {
      "fields": [ "semantic_text_field_*", "*_field_1" ],
      "query": "foo",
      "normalizer": "minmax"
    }
  }
}<p>Interessanterweise passt das Muster <code>*_field_1</code> sowohl zu <code>text_field_1</code> als auch <code>semantic_text_field_1</code>. Dies wird automatisch gehandhabt; die Abfrage wird so ausgeführt, als ob jedes der Felder explizit abgefragt würde. Es ist auch in Ordnung, dass <code>semantic_text_field_1</code> beiden Mustern entspricht; alle Feldnamenübereinstimmungen werden vor der Abfrageausführung dedupliziert.</p><p>Sie können das Wildcard-Zeichen auf verschiedene Arten verwenden:</p><ul><li><p>Präfixübereinstimmung (z. B. <code>*_text_field</code>)</p></li><li><p>Inline-Matching (z. B. <code>semantic_*_field</code>)</p></li><li><p>Suffix-Matching (z. B. <code>semantic_text_field_*</code>)</p></li></ul><p>Sie können auch mehrere Platzhalter verwenden, um eine Kombination der oben genannten anzuwenden, z. B. <code>*_text_field_*</code>.</p><h3>Standardabfragefelder</h3><p>Das Abfrageformat mit mehreren Feldern ermöglicht es Ihnen auch, einen Index abzufragen, über den Sie nichts wissen. Wenn Sie den Parameter <code>fields</code> weglassen, werden alle Felder abgefragt, die durch die <a href="https://www.elastic.co/docs/reference/elasticsearch/index-settings/index-modules">Indexeinstellung index.query.default_field</a> angegeben sind:</p>GET linear_retriever_example/_search
{
  "retriever": {
    "linear": {
      "query": "foo",
      "normalizer": "minmax"
    }
  }
}<p>Standardmäßig ist <code>index.query.default_field</code> auf <code>*</code> gesetzt. Dieser Platzhalter wird auf jeden Feldtyp im Index aufgelöst, der Termabfragen unterstützt, was auf die meisten zutrifft. Die Ausnahmen sind:</p><ul><li><p><code>dense_vector</code> Felder</p></li><li><p><code>rank_vector</code> Felder</p></li><li><p>Geometrische Felder: <code>geo_point</code>, <code>shape</code></p></li></ul><p>Diese Funktionalität ist besonders nützlich, wenn Sie eine hybride Suchanfrage auf einem von einem Drittanbieter bereitgestellten Index durchführen möchten. Das Abfrageformat mit mehreren Feldern ermöglicht es Ihnen, auf einfache Weise eine passende Abfrage auszuführen. Lassen Sie einfach den Parameter <code>fields</code> weg, und alle relevanten Felder werden abgefragt.</p><h2>Fazit</h2><p>Das Problem der Bewertungsbereiche kann die Implementierung einer effektiven hybriden Suche zu einer echten Herausforderung machen, insbesondere wenn nur begrenzter Einblick in den abgefragten Index oder die verwendeten Inferenzendpunkte besteht. Das Mehrfeld-Abfrageformat für die linearen und RRF-Retriever mindert dieses Problem, indem es einen automatisierten, auf Abfragegruppierung basierenden hybriden Suchansatz in einer einfachen und zugänglichen API bündelt. Zusätzliche Funktionen wie die Gewichtung einzelner Felder, die Auflösung von Platzhaltern und die Verwendung von Standardabfragefeldern erweitern den Funktionsumfang und decken viele Anwendungsfälle ab.</p><h2>Probieren Sie heute noch das Abfrageformat mit mehreren Feldern aus.</h2><p>Sie können die linearen und RRF-Retriever mit dem Multi-Field-Query-Format in vollständig verwalteten Elasticsearch <a href="https://www.elastic.co/cloud/serverless">Serverless-</a> Projekten mit einer <a href="https://www.elastic.co/docs/deploy-manage/deploy/elastic-cloud/create-serverless-project">kostenlosen Testversion</a> ausprobieren. Es ist auch in Stack-Versionen ab 8.19 und 9.1 verfügbar.</p><p>Legen Sie in wenigen Minuten in Ihrer lokalen Umgebung mit einem einzigen Befehl los:</p>curl -fsSL https://elastic.co/start-local | sh<p></p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/hybrid-search-multi-field-query-retrievers-elasticsearch</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/hybrid-search-multi-field-query-retrievers-elasticsearch</guid>
    <category><![CDATA[Hybride Suche]]></category>
    <category><![CDATA[Relevanz]]></category>
    <dc:creator><![CDATA[Mike Pellegrini]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt89e066372c549595/6a17f17c3e9e457c38ba1583/4494f98ae3958bbdbc6171df9677fc4d65ec5640-1536x1024.png" length="0" type="image/png"/>
    <pubDate>Thu, 27 Nov 2025 00:00:00 GMT</pubDate>
  </item>
  </channel>
</rss>