Ciao!
Oggi parleremo del motore di ricerca full-text Elasticsearch (di seguito ES), con cui
lavora la piattaforma Docsvision 5.5.

1. Installazione
Puoi scaricare l'ultima versione al seguente link:
Screenshot dell'installer qui sotto:

2. Verifica del funzionamento
Dopo aver completato l'installazione, vai all'indirizzo
Dovrebbe apparire una pagina con lo stato di ES, esempio qui sotto:

Se la pagina non si apre, assicurati che il servizio Elasticsearch sia avviato. Su Windows, questo
è il servizio Elasticsearch.

3. Connessione a Docsvision
La connessione a Elasticsearch viene configurata nella pagina del servizio di indicizzazione full-text.
Qui devi specificare:

1. L'indirizzo del server Elasticsearch (definito durante l'installazione).
2. La stringa di connessione al DBMS.
3. L'indirizzo di Docsvision (nel formato ConnectAddress=
asmx)
Devi anche assicurarti che l'account sotto il quale è in esecuzione il servizio Docsvision
Fulltext Indexing service abbia accesso al DB Docsvision su MS SQL.
Dopo la connessione, assicurati che nel DB MS SQL siano stati creati i task con il prefisso:
«DV:FullText__CardWithFilesPrepareRange»
Dopo la connessione, è necessario verificare che nel database MS SQL siano stati creati i compiti con il prefisso:
«DV:FullText_<NOMEDB>_CardWithFilesPrepareRange»

Dopo aver completato le impostazioni, la barra di ricerca sarà sbloccata nel client Windows.
4. REST API Elastic
L'amministratore può ottenere varie informazioni sul funzionamento di Elasticsearch tramite
l'API REST fornita.
Nei seguenti esempi utilizzeremo Insomnia Rest Client.
Ottenere informazioni generali
Una volta che il servizio è avviato e funzionante (http://localhost:9200/ nel browser), è possibile
eseguire la richiesta:
Ottenere la risposta sullo stato del servizio Elasticsearch (nel browser):

Risposta sullo stato in Insomnia:

Notiamo lo stato — Verde, Giallo, Rosso. La documentazione ufficiale dice quanto segue sugli stati:
• Verde — Tutto bene (Il cluster è completamente operativo)
• Giallo — Tutti i dati sono disponibili, ma alcune repliche nel cluster non sono ancora allocate
• Rosso — Parte dei dati non è disponibile per qualche motivo (il cluster funziona normalmente)
Ottenere gli stati dei nodi nel cluster e il loro stato (ho 1 nodo):

Tutti gli indici (indices) ES:

Oltre agli indici di Docsvision, possono esserci anche indici di altre applicazioni — heartbeat,
kibana — se li utilizzi. È possibile filtrare i necessari dai non necessari. Ad esempio,
возьмём только индексы, в имени которых есть %card% в названии:

Configurazione di Elasticsearch
Ottenere le impostazioni di Elasticsearch:
Il risultato sarà piuttosto ampio e includerà i percorsi dei log:

Come sapere l'elenco degli indici, già sappiamo che Docsvision lo fa automaticamente, fornendo un nome all'indice nel formato:
<nomedb+tipoIndiceDelCard>
È possibile anche creare un indice indipendente:
Solo che questo sarà una richiesta PUT, non GET:

Risultato:

La seguente richiesta mostrerà tutti gli indici, compresi quelli nuovi (customer):

5. Ottenere informazioni sui dati indicizzati
Stato degli indici Elasticsearch
Dopo che la configurazione iniziale da parte di Docsvision è stata effettuata, il servizio dovrebbe essere pronto per lavorare e iniziare l'indicizzazione dei dati.
Prima di tutto, verifichiamo che gli indici vengano popolati e che la loro dimensione superi i «byte» standard con la richiesta già nota:
il risultato mostra: indicizzati 87 «compiti» e 72 «documenti», se parliamo in termini del nostro sistema di gestione dei documenti:

Dopo un certo tempo, i risultati sono i seguenti (di default, il job di indicizzazione si avvia ogni 5 minuti):

Notiamo che il numero di documenti è aumentato.
Come capire se la scheda necessaria è stata indicizzata?
• Innanzitutto, è necessario assicurarsi che il tipo di scheda in Docsvision corrisponda ai dati specificati nelle impostazioni di Elasticsearch.
• In secondo luogo, è necessario attendere l'indicizzazione dell'array di schede: ci vorrà del tempo prima che i dati appaiano nell'archivio dopo il loro inserimento in Docsvision.
• In terzo luogo, puoi cercare la scheda per CardID. Puoi farlo con la seguente query:
Nel caso in cui la scheda sia presente nell'archivio, vedremo i suoi dati ‘grezzi’; se non è presente, visualizzeremo una risposta simile a questa:

Ricerca della scheda nel nodo Elasticsearch
Trova il documento con corrispondenza esatta del campo Description:
Risultato:

cerca il documento in cui in Description è presente il termine ‘In entrata’
Risultato:

Ricerca della scheda in base al contenuto del file allegato
risultato:

Troveremo tutte le schede di tipo documento:
o tutte le schede di tipo assegnazione:
Utilizzando le costruzioni and e i parametri che Elasticsearch restituisce in formato JSON, è possibile costruire la seguente query:
Mostrerà tutte le schede di tipo assegnazione, tra gli utenti il cui FirstName = Konstantin, e situati nell'Ufficio di Orël.
Inoltre LIKE ci sono anche altri parametri documentati:
a differenza di, campi, documenti, contenuti, ecc.
Sono tutti descritti .
Per oggi è tutto!
#docsvision #docsvisionECM
Link utili:
- Client REST Insomnia
Fonte: habr.com
