Priorisieren der Volltext-Trefferlisten

Gültig für: yuuvis® RAD Version 6.x

Volltext-Trefferlisten werden nach Standard-Kriterien wie Anzahl und Nähe der Suchbegriffe gewichtet und nach Datum und Anzahl der Dateiversionen. Dabei werden neuere Objekte und Objekte mit einer höheren Anzahl von Versionen höher gewichtet.

Zusätzlich kann die Gewichtung abhängig von folgenden Kriterien konfiguriert werden:

  • Indexdatenfelder: Wird der Suchbegriff in einem konfigurierten Indexdatenfeld gefunden, dann wird das Objekt höher gewichtet.

  • Objekte mit Indexdaten: Wird der Suchbegriff in einem Objekt gefunden, das in einem Indexdatenfeld mit dem konfigurierten Wert indexiert ist, dann wird das Objekt höher gewichtet.

Priorisierungen führen zu einer deutlich höheren Systemauslastung und sollten deshalb nur minimal eingesetzt werden.

Die Konfiguration erfolgt über die Datei search-prod.yml aus dem Verzeichnis \config von yuuvis® RAD service-manager.

Für die Konfiguration müssen die Felder mit den technischen Bezeichnungen angegeben werden, wie sie von Elasticsearch verwendet werden.

Die Elasticsearch-Bezeichnungen ermitteln Sie so:

  • Folgende Adresse aufrufen:
    http://<host-gateway>/rest-ws/service/system/type/list.json?elements=true

  • Suchen Sie im angezeigten Schema das Feld über den in yuuvis® RAD designer angezeigten technischen Namen (name), den Anzeigenamen (label) oder die Beschreibung (description). Sie benötigen für die Konfiguration die im gleichen Abschnitt angegebene Bezeichnung indexname.

Priorisierung von Feldern

Die Syntax für die Priorisierung von Treffern in Feldern hat folgende Struktur:

score.fields:'field_indexname_1;field_indexname_2;…'

Aufgelistet werden Felder, deren Objekte höher priorisiert werden sollen, wenn der Suchbegriff dort gefunden wird. Priorisiert wird in der Reihenfolge von links nach rechts, das erste Feld wird also am höchsten priorisiert.

Beispiel:

score.fields:'str_rechnung_kundennummer;str_rechnung_referenz_nummer'

Gesucht wird eine Kundennummer, die sowohl in einem Feld 'Kundennummer' wie auch in einem Feld 'Referenznummer' vorkommen kann. Treffer im Feld 'Kundennummer' werden gegenüber Treffern im Feld 'Referenznummer' priorisiert.

Priorisierung von Objekten

Die Syntax für die Priorisierung von Treffern mit angegebenen Indexdaten hat folgende Struktur:

score.setting:'field_indexname:field_value_1-weight_1,field_value_2-weight_2,field_value_3-weight_3'

Angegeben werden Felder mit Werten und Gewichtungen.

Beispiel:

score.setting:'str_document_status:aktiv-50,offen-20,inaktiv-10'

Treffer, bei denen das Feld 'Status' mit 'aktiv' indexiert ist werden höher gewichtet als Treffer mit dem Status 'offen' und diese höher als Treffer mit dem Status 'inaktiv'. Die 'weight'-Angaben sind beliebige Werte und nur proportional aufeinander bezogen.

Für die Priorisierung über Indexdaten können auch mehrere Felder mit Werten eines Objekttyps angegeben werden.

Beispiel:

score setting:'key_document_status:aktiv-50;key_type:vertragsunterlagen-50,dokument-20'

Treffer mit dem Status 'aktiv' werden höher bewertet und Treffer mit dem Typ 'Vertragsunterlagen' werden höher bewertet als Treffer mit dem Typ 'Dokument'.