1.3.5.8.3.9.  Aggiornamenti dell'indice di ricerca ERP

L'AppServer è a conoscenza di tutte le modifiche del database, in modo da poter reagire automaticamente alle modifiche del progetto e/o del ruolo con aggiornamenti dell' indice di ricerca LinkDB [LinkDB search index] o notifiche del client.

Se si seleziona l'opzione Cataloghi e ricerca via AppServer [Catalog browsing and search with AppServer] (cioè non Cataloghi, ricerca e database via AppServer [Catalog browsing, search and database with AppServer] ), gli aggiornamenti automatici dell' indice di [LinkDB search index] ricerca LinkDB continueranno a funzionare. Questo è possibile perché è possibile configurare un "task" sull'AppServer che aggiorna regolarmente l'indice di ricerca [LinkDB search index] LinkDB (con le informazioni della LOGTABLE).

Uno concetto precedente (fino alla V9.08) utilizza lo script per gli aggiornamenti dell'indice nightupdate_erp.vbb. Ciò garantisce per l'ERPTABLE da includere nell'indice di ricerca full-text (=indice Lucene) viene registrato. (Può essere utilizzato opzionalmente anche in V10/11.) (I dettagli possono essere trovati nella sceneggiatura stessa.) Il vantaggio della soluzione AppServer è che vengono aggiornate solo le parti dell'indice di ricerca ERP in cui I dati sono cambiati. A meno che in casi particolari qualcosa il processo nightupdate_erp.vbb nella V10/11 non sarà Più necessario.

Chiamate ai compiti

  • DBSearchIndexTask:

    • Intervallo in cui viene avviato il task di aggiornamento dell'indice di ricerca ERP. Quindi controlla nella LOGTABLE se sono disponibili nuove voci. In caso affermativo, l'indice ERP viene aggiornato.

    • Se il valore è impostato, l'indice di ricerca viene aggiornato automaticamente anche dopo un aggiornamento del catalogo.

      Se non si desidera che l'indice di ricerca venga aggiornato automaticamente, ma si desidera avviarlo manualmente dopo un aggiornamento, procedere come segue:

      1. Rimuovere il valore DBSearchIndexTask dal file Tasto "Tasks".

      2. plinkcommon.cfg -> Chiave UPDATESEARCHINDEX

        Impostare il valore su 1.

        -> All'avvio dell'aggiornamento del catalogo viene ora visualizzato un messaggio che chiede se si desidera aggiornare automaticamente l'indice di ricerca ERP dopo l'installazione.

        Volete aggiornare automaticamente gli indici di ricerca ERP dopo l'installazione? [Do you want to update the ERP search indexes automatically after installation?]

        Figura 1.244. Volete aggiornare automaticamente gli indici di ricerca ERP dopo l'installazione? [Do you want to update the ERP search indexes automatically after installation?]

      Sezione 4.16.7, “ Aggiornare l'indice di ricerca full-text su LinkDB change / plinkcommon.cfg -> Block [Common] -> Key "UPDATESEARCHINDEX" ”Vedi anche .

  • DBClearLogTask: intervallo in cui viene avviata l'attività di pulizia della LOGTABLE. Questo task cancella le vecchie voci dalla LOGTABLE.

Per informazioni dettagliate al riguardo, consultare la sezione seguente.

1.3.5.8.3.9.1.  Registrazione delle modifiche di LinkDB

Gli inserimenti, le cancellazioni e gli aggiornamenti manuali (da parte di PARTlinkManager o PARTdataManager) possono essere registrati automaticamente nella tabella LOGTABLE.

Struttura della tabella LOGTABLE

LOGID VARCHAR(40) NOT NULL,
TABNAME VARCHAR(15) NOT NULL,
KEYFLD VARCHAR(15) NOT NULL,
LOGKEY VARCHAR(500) NOT NULL,
LOGEXT VARCHAR(64),
LOGTIME VARCHAR(20) NOT NULL,
USERNAME NVARCHAR(20),
HOSTNAME NVARCHAR(20),
PROGNAME VARCHAR(15),
MODTYPE SMALLINT DEFAULT 0 NOT NULL,
UPDSEARCH SMALLINT DEFAULT 0 NOT NULL,

La tabella può essere visualizzata tramite PARTlinkManager -> Menu Extra [Extras] -> Database -> Modifica tabelle aggiuntive [Edit additional tables].

Se la voce LOGTABLE è stata impostata nel file di configurazione plinkcommon.cfg alla voce ADDITIONALTABLES, la tabella viene visualizzata qui.

Figura 1.245. Se la voce LOGTABLE è stata impostata nel file di configurazione plinkcommon.cfg alla voce ADDITIONALTABLES, la tabella viene visualizzata qui.

Significato delle singole colonne di LOGTABLE

  • LOGID: LOGID è un numero univoco (GUID).

  • NOME TAB: tabella in cui vengono salvate le modifiche (ERPTABLE o LINKTABLE).

  • KEYFLD:

    • Per ERPTABLE è sempre ERP_PDM_NUMBER e LOGKEY contiene il numero ERP.

    • Per LINKTABLE è sempre PRJ_PATH e LOGKEY contiene il percorso.

  • LOGEXT: informazioni aggiuntive, per le modifiche di LinkDB si tratta della versione e dell'ID della riga.

  • LOGTIME: ora della modifica (in UTC)

  • USERNAME: nome di accesso dell'utente che ha effettuato la modifica.

  • HOSTNAME: nome del computer del client

  • PROGNAME: programma in cui sono state apportate le modifiche.

  • MODTYPE: Tipo di modifica

    Intervallo di valori:

    • 1: Inserimento (è stato aggiunto un record di dati)

    • 2: Aggiornamento (il record di dati è stato modificato)

    • 3: Cancella (il record di dati è stato cancellato)

    • 4: Installazione (aggiornamenti durante l'installazione del CIP)

  • UPDSEARCH: Se UPDSEARCH ha il valore 1, l'indice di ricerca ERP deve essere aggiornato. Viene riportato a 0 dall'AppServer dopo l'aggiornamento.

Per garantire che l'attività venga effettivamente eseguita, Le seguenti impostazioni devono essere ancora disponibili nel file di configurazione pappserver.cfg essere.

Esempio:

[TaskManagerModule]
TimerInterval=60 
tasks=loadAll 
DBSearchIndexTask=1h
DBClearLogTask=24h

[DBClearLogTask] 
DaysToKeep=365

  • TimerInterval: specifica l'intervallo (in secondi) in cui il sistema deve verificare se è prevista l'esecuzione di un nuovo task. (Normalmente non deve essere modificato)

  • compiti:

    Intervallo di valori:

    • loadAll: Tutti i TaskModules devono essere caricati all'avvio dell'AppServer. Attualmente ce ne sono solo due (DBSearchIndexTask e DBClearLogTask).

  • DBSearchIndexTask: intervallo in cui viene avviato il task per l'aggiornamento dell'indice di ricerca ERP, che controlla nella LOGTABLE se sono disponibili nuove voci. In caso affermativo, l'indice ERP viene aggiornato.

  • DBClearLogTask: intervallo in cui viene avviata l'attività di pulizia della LOGTABLE. Questo task cancella le vecchie voci dalla LOGTABLE.

    Esempi di formati di data possibili:

    1mL'attività viene eseguita ogni minuto
    1hL'attività viene eseguita ogni ora
    13:21zL'attività viene eseguita ogni giorno alle 13:21 GMT
    lun 14:30L'attività viene eseguita ogni lunedì alle 14:30 (ora locale).

  • DaysToKeep: numero di giorni in cui le voci vengono salvate nella LOGTABLE.

[Nota]Nota

L'interazione temporale con nightupdate.vbb (aggiornamento dell'ERPTABLE).

1.3.5.8.3.9.2. Aggiornamento manuale e creazione iniziale dell'indice di ricerca LinkDB
  • Aggiornamento manuale dell'indice di ricerca LinkDB: possibile se necessario. Vedere Sezione 1.3.3.6.6.4, “Indice di ricerca LinkDB ”.

  • Creazione iniziale dell'indice di ricerca LinkDB:

    Tempo necessario per il riempimento iniziale: 100.000 record di dati circa 25 minuti per rotolo.[15]




[15] I tempi esatti dipendono dalle circostanze, come la velocità della rete, la velocità del processore, la velocità del disco, ecc.