powered by CADENAS

Manual

Manual

1.7.5.9.2. Block [settings] Schlüssel "GenerationFilterRules" - Projekte und Zeilen filtern für die Generierung des Geo-Index

In der Konfigurationsdatei CADENAS_SETUP/geomsearch.cfg können Sie eine Menge von Filterregeln definieren. Trifft auf ein Teil wenigstens eine Regel zu, wird es herausgefiltert und somit von der Indexgenerierung ausgenommen.

  1. Bestimmen Sie im Block [settings], im Schlüssel GenerationFilterRules kommasepariert eine Liste aller Regelnamen.

    [settings]
    GenerationFilterRules=Rule1,Rule2,etc.
  2. Legen Sie für jede Regel einen Block nach dem Schema GenerationFilterRule_Rulex an.

    Beispiel:

    [GenerationFilterRule_Rule1]
    Catalogs=cat/__partialtest
    AlgoTypes=PARTIAL,TOPO
    PrjRegExp=.*ass.*
    PrjScriptCallbackFile=
    PrjScriptCallbackFunction=
    LineFilterCount=1
    LineFilterVar0=TYPE
    LineFilterRegExp0=.*ass.*
    Conjunction=AND
    LineScriptCallbackFile=test.vbb
    LineScriptCallbackFunction=checkLine

Erläuterungen zu den einzelnen Schlüsseln:

Allgemeine Einstellungen

  • Catalogs: Kataloge, für die die Regel gelten soll

  • AlgoTypes: Index-Typen, die NICHT generiert werden sollen (komma-separiert)

    Mögliche Werte: TOPO,GEO,PARTIAL

  • Conjunction: AND | OR

    Bezieht sich auf die Projektbedingungen und auf die Zeilenbedingungen. Wenn nur höchstens 1 Projektbedingung und nur höchstens 1 Zeilenbedingung, dann ist es egal, ob OR oder AND.

    Wenn OR, dann wird ein Projekt- oder Zeilenfilter angewendet, wenn EINE Regel zutrifft. Wenn AND, dann müssen alle nicht leeren Regeln zutreffen.

Einstellungen zum Projektpfad

  • PrjRegExp: Angabe eines regulären Ausdrucks. Dieser wird auf den Projektpfad relativ zum Katalog getestet. Wenn er zutrifft, wird gefiltert.

    Beispiel: Alle Projekte, die im Pfad irgendwo "asm" enthalten, werden durch folgenden regulären Ausdruck herausgefiltert.

    .*asm.*
  • PrjScriptCallbackFile: Pfad zum vbb-Skript, das den callback enthält.

  • PrjScriptCallbackFunction: Die Funktion PrjScriptCallbackFunction wird aufgerufen mit dem Projektpfad als Parameter und sollte 1 zurückgeben, wenn gefiltert werden soll, sonst 0.

Einstellungen zur Tabellenzeile

  • LineFilterCount: Anzahl der Zeilenbedingungen

    Beispiel mit 3 Zeilenbedingungen:

    LineFilterCount=3
    LineFilterVar0=A
    LineFilterRegExp0=.*ab.*
    LineFilterVar1=B
    LineFilterRegExp1=.*ac.*
    LineFilterVar2=C
    LineFilterRegExp2=.*ad.*
    
  • LineFilterVar0: Variablenname aus der Tabelle (0 ist durch den Index der Bedingung zu ersetzen.)

  • LineFilterRegExp0= Der Merkmalswert der benannten Variablen muss den regulären Ausdruck matchen, um herausgefiltert zu werden. (0 ist durch den Index der Bedingung zu ersetzen.)

  • LineScriptCallbackFile: Pfad zum vbb-Skript, das den callback enthält.

  • LineScriptCallbackFunction: Die Funktion LineScriptCallbackFunction wird aufgerufen mit der Tabelle als Parameter und sollte 1 zurückgeben, wenn gefiltert werden soll, sonst 0.

    Folgendes Beispiel filtert alle Zeilen mit Line-Id größer 50000 raus:

    function filterLines(table)
      dim row = table.SelectedRow
      dim lineId = row.Idnr
      if lineId > 50000 then
        filterLines = 1
      else
        filterLines = 0
      end if
    end function