7.9.4.2. Regole di filtro per l'indicizzazione

[Nota]Nota

Di norma, un catalogo è completamente indicizzato e non richiede regole di filtraggio.

Se non si desidera indicizzare tutti i pezzi all'interno di un catalogo, è possibile definire regole di filtro per questo.

Ecco un esempio:

[settings]
GenerationFilterRules=ScriptFilterRule, ScriptFilterRuleErp

[GenerationFilterRule_ScriptFilterRule]
Catalogs=cat/lochplatten_ecat
AlgoTypes=IMG
LineScriptCallbackFile=filter.vbs
LineScriptCallbackFunction=checkLine
IndexTypes=Standard

[GenerationFilterRule_ScriptFilterRuleErp]
Catalogs=cat/lochplatten_ecat
AlgoTypes=IMG
LineScriptCallbackFile=filterErp.vbs
LineScriptCallbackFunction=checkLine
IndexTypes=Erp

Script filter.vbs:

function checkLine(table)
  dim nb = table.selectedRow.getNB()
  checkLine = (InStr(nb, "photo_noerp ") = 0
end function

Script filter_erp.vbs:

function checkLine(table)
  dim nb = table.selectedRow.getNB()
  checkLine = (InStr(nb, "photo_erp ") = 0
end function

[Importante]Importante

Se checkLine restituisce true, la riga viene filtrata, cioè non viene indicizzata per la ricerca fotografica. In questo esempio, tutti i pezzi contenuti nel NB photo_noerp e tutti i pezzi con un numero ERP contenuti nel NB photo_erp avrebbero le impronte digitali per la ricerca fotografica.

In alternativa ai callback di script, è possibile filtrare utilizzando le RegExp:

[GenerationFilterRule_LineFilterRule]
Catalogs=cat/lochplatten_ecat
AlgoTypes=IMG
LineFilterCount=1
LineFilterVar0=NB
LineFilterRegExp0=^(?!.*24041 Lg ).*
Conjunction=AND
IndexTypes=Standard

È possibile definire questi filtri anche a livello di progetto:

[GenerationFilterRule_ProjectFilterRule]
Catalogs=cat/lochplatten_ecat
AlgoTypes=IMG
IndexTypes=Standard
PrjRegExp=^(?!din_24041_lg\.prj$).*