Lade...
 

CX_OBJECT_DICTIONARY...::GetObjectsWithDLDistance

CX_OBJECT_DICTIONARY...::GetObjectsWithDLDistance

174494
Beschreibung:

Diese Methode bezieht sich auf die Damerau-Levinshtein-Distanz. Für eine Beschreibung dieser siehe CX_STRING::DLDistance.

Im Dictionary werden alle Schlüssel geprüft, ob diese einen Abstand zum Suchbegriff haben, welcher maximal der angegebenen Distanz entspricht. Die zu diesen Schlüsseln gehörenden Objekte werden zusammen mit den jeweils berechneten Distanzen zurückgegeben. Hierfür wird eine Collection angelegt, in die Objekte vom spezifizerten Typ eingefügt werden. In diesen Objekten wird in den angegebenen dynamischen Datenfeldern jeweils die Distanz und das Objekt selbst hinterlegt.

Falls diese Methode auf einem mehrsprachigen Dictionary aufgerufen wird, dann werden nur Schlüssel in der aktuellen Sprache mit dem Suchbegriff verglichen.

Werden die Distanzen selbst nicht benötigt, so ist die Methode CX_OBJECT_DICTIONARY...::QueryByDLDistance zu nutzen.

Bei einem Dictionary mit vielen Einträgen kann je nach Anwendungsfall CX_OBJECT_DICTIONARY...::GetObjectsWithDLDistanceWithBKTree zu eine bessere Performance führen.

Code-Beispiel:
"level" "masterObject" CX_CONTAINER 3 "Suchbegriff" dictionary Call(GetObjectsWithDLDistance) -> coll
Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_OBJECT_DICTIONARY... Dictionary
  Top-1 STRING Suchbegriff
  Top-2 INTEGER Maximal zulässige Distanz
  Top-3 INTEGER Klassenkonstante, in welche die Ergebnisse eingeführt werden sollen.
  Top-4 STRING Name eines dynamischen Datenfelds, um die Objekte selbst zu speichern
  Top-5 STRING Name eines dynamischen Datenfelds, um die Distanzen der Ergebnisse zu speichern
Stack(Out) Top COLLECTION Objekte vom spezifizierten Typ mit den gefundenen Objekten und den zugehörigen Distanzen in den angegebenen dynamischen Datenfeldern.
Funktionsaufruf: Call(GetObjectsWithDLDistance)