Was ist eine Schindel in der Lucene-Sprache?

Hin und wieder werden wir gefragt, was zum Teufel ein Shingle in Lucene ist, wie z.B. der ShingleFilter oder der ShingleMatrixFilter. Es lohnt sich also, einige Informationen über Shingles in Lucene, Solr und Lucidworks zu geben. Zunächst einmal ist ein Shingle nur ein wortbasiertes n-Gramm, im Gegensatz zu einem zeichenbasierten n-Gramm (NGramTokenizer, NGramTokenFilter, EdgeNGramTokenizer und EdgeNGramTokenFilter bieten letztere Funktionalität). Wir haben sie Schindeln genannt, um die beiden zu unterscheiden, wenn es um die Benennung der Filter geht, und weil sie sich, wie die Schindeln auf Ihrem Dach, gegenseitig überlappen.

Wozu sind Shingles gut? Viele Leute verwenden sie, um während des Indizierungsprozesses „Pseudo-Phrasen“ zu erstellen, da die Schindel am Ende ein einzelnes Token ist, das dann der normalen TF-IDF-Bewertung unterliegt, die in Lucene verwendet wird. In vielen Fällen führt die Suche nach Phrasen zu einer Verbesserung der Relevanz, aber die Suche nach Phrasen zur Abfragezeit kann teurer sein als normale Begriffsabfragen, so dass man manchmal versucht, dem Spiel einen Schritt voraus zu sein und Schindeln zu verwenden.

Wenn Sie Shingles in Aktion sehen und sie mit n-Grammen vergleichen möchten, fügen Sie die folgenden Feldtypen zu einem Solr-Beispielschema hinzu:

<fieldtype name="shingle">
 <analyzer>
 <tokenizer class="solr.WhitespaceTokenizerFactory"/>
 <filter class="solr.ShingleFilterFactory" minShingleSize="2" maxShingleSize="5"/>
 </analyzer>
 </fieldtype>
 <fieldtype name="ngram">
 <analyzer>
 <tokenizer class="solr.NGramTokenizerFactory" maxGramSize="5" minGramSize="2"/>
 </analyzer>
 </fieldtype>

Starten Sie als nächstes Ihre Solr-Instanz und gehen Sie zu http://localhost:8983/solr/admin/analysis.jsp und führen Sie die folgenden Schritte aus:

  1. Wählen Sie in der Zeile Feld die Option „Typ“ aus der Dropdown-Liste und geben Sie Schindel in das Textfeld ein.
  2. Wählen Sie im Abschnitt Feldwert die Option Ausführliche Ausgabe und geben Sie „Der schnelle rote Fuchs sprang über die faulen braunen Hunde“ ein.
  3. Klicken Sie auf Absenden. Sie sollten etwas sehen wie:

Gürtelrose

Wie Sie sehen können, werden für jede Position mehrere Token ausgegeben, von denen viele mehrere Wörter in einem einzigen Token enthalten.

Versuchen Sie als Nächstes denselben Satz, aber wechseln Sie beim Feldtyp von „shingle“ zu „ngram“. Diesmal sollten Sie die Wörter in Zeichengruppen aufgeteilt sehen.

Weitere Informationen finden Sie unter http://en.wikipedia.org/wiki/N-gram. Beachten Sie, dass auch der Ngram Viewer von Google Book für Sie interessant sein könnte: http://ngrams.googlelabs.com/

You Might Also Like

KI-Agenten dominieren den Einkauf. Ist Ihre Website auf die KI-gestützte Suche vorbereitet?

Generative KI-Agenten wie ChatGPT definieren die Produktsuche neu. Erfahren Sie, wie Sie...

Read More

Vom Suchunternehmen zum praktischen KI-Pionier: Unsere Vision für 2025 und darüber hinaus

CEO Mike Sinoway gibt Einblicke in die Zukunft der KI und stellt...

Read More

Wenn KI schief geht: Fehlschläge in der realen Welt und wie man sie vermeidet

Lassen Sie nicht zu, dass Ihr KI-Chatbot einen 50.000 Dollar teuren Tahoe...

Read More

Quick Links