Buongiorno!
Oggi parleremo del motore di ricerca full-text Elasticsearch (di seguito ES), con il quale
La piattaforma Docsvision 5.5 è in esecuzione.
1. Installazione
È possibile scaricare la versione attuale dal collegamento: www.elastic.co/downloads/elasticsearch
Screenshot del programma di installazione di seguito:
2. Controllo della funzionalità
Una volta completata l'installazione, vai a http://localhost:9200/
Dovrebbe essere visualizzata la pagina di stato ES, nell'esempio seguente:
Se la pagina non si apre, assicurati che il servizio Elasticsearch sia in esecuzione. Su Windows questo è
Servizio elasticsearch.
3. Connettiti a Docsvision
La connessione a Elasticsearch è configurata nella pagina del servizio full-text
indicizzazione.
Qui è necessario indicare:
1. Indirizzo del server Elasticsearch (impostato durante l'installazione).
2. Stringa di connessione al DBMS.
3. Indirizzo Docsvision (nel formato ConnectAddress=http://SERVER/DocsVision/StorageServer/StorageServerService.
asmx)
4. Nella scheda "Carte" e "Directory", è necessario configurare i dati che
deve essere indicizzato.
È inoltre necessario assicurarsi che l'account con cui è in esecuzione il servizio Docsvision
Servizio di indicizzazione fulltext, ha accesso al database Docsvision su MS SQL.
Dopo la connessione, è necessario assicurarsi che i lavori con il prefisso vengano creati nel database MS SQL:
"DV:FullText_<DBNAME>_CardWithFilesPrepareRange"
Dopo aver completato le impostazioni, la barra di ricerca verrà sbloccata nel client Windows.
4. API REST Elastica
L'amministratore può ottenere varie informazioni sul funzionamento di Elasticsearch utilizzando
fornito dall'API REST.
Negli esempi seguenti utilizzeremo Insomnia Rest Client.
Ottenere informazioni generali
Una volta che il servizio è attivo e funzionante (http://localhost:9200/ nel browser), puoi farlo
eseguire la richiesta: http://localhost:9200/_cat/health?v
Riceviamo una risposta sullo stato del servizio Elasticsearch (nel browser):
Risposta allo stato di insonnia:
Prestiamo attenzione allo stato: verde, giallo, rosso. La documentazione ufficiale dice quanto segue sugli stati:
• Verde: va tutto bene (il cluster è pienamente operativo)
• Giallo: tutti i dati sono disponibili, ma alcune repliche nel cluster non sono ancora state allocate
• Rosso: parte dei dati non è disponibile per qualsiasi motivo (il cluster stesso funziona normalmente)
Ottenere gli stati sui nodi nel cluster e il loro stato (ho 1 nodo): http://localhost:9200/_cat/nodes?v
Tutti gli indici ES: http://localhost:9200/_cat/indices?v
Oltre agli indici di Docsvision, potrebbero esserci anche indici di altre applicazioni: heartbeat,
kibana: se li usi. Puoi ordinare quelli necessari da quelli non necessari. Per esempio,
Prendiamo solo gli indici che hanno %card% nel nome: http://localhost:9200/_cat/indices/*card*?v&s=index
Configurazione elasticsearch
Ottenere le impostazioni di Elasticsearch: http://localhost:9200/_nodes
Il risultato sarà piuttosto esteso, compresi i percorsi dei log:
Sappiamo già come trovare la lista degli indici; Docsvision lo fa in automatico, dando il nome all'indice nel formato:
<nome database+tipo di tessera indicizzata>
Puoi anche creare il tuo indice indipendente: http://localhost:9200/customer?pretty
Solo che questa non sarà una richiesta GET, ma una PUT:
Il risultato:
la seguente query mostrerà tutti gli indici, compresi quelli nuovi (cliente): http://localhost:9200/_cat/indices?v
5. Ottenere informazioni sui dati indicizzati
Stato dell'indice Elasticsearch
Una volta completata la configurazione iniziale da parte di Docsvision, il servizio dovrebbe essere pronto per funzionare e iniziare l'indicizzazione dei dati.
Innanzitutto controlliamo che gli indici siano riempiti e che la loro dimensione sia maggiore dei “byte” standard utilizzando una query a noi già familiare: http://localhost:9200/_cat/indices?v
Di conseguenza, vediamo: sono stati indicizzati 87 "compiti" e 72 "documenti", parlando in termini del nostro EDMS:
Dopo un po' di tempo, i risultati sono i seguenti (per impostazione predefinita, i processi di indicizzazione vengono avviati ogni 5 minuti):
Vediamo che il numero di documenti è aumentato.
Come fai a sapere che la carta di cui hai bisogno è stata indicizzata?
• Innanzitutto, devi assicurarti che il tipo di carta in Docsvision corrisponda ai dati specificati nelle impostazioni di Elascticsearch.
• In secondo luogo, attendere che l'array di carte venga indicizzato: quando entra in Docsvision, deve passare del tempo prima che i dati appaiano nell'archivio.
• In terzo luogo, puoi cercare una carta tramite CardID. Puoi farlo con la seguente richiesta:
Se la carta è nella memoria, vedremo i suoi dati “grezzi”; in caso contrario, vedremo qualcosa del genere:
Ricerca di una carta in un nodo Elasticsearch
Trova un documento in base alla corrispondenza esatta del campo Descrizione: http://localhost:9200/_search?q=description: Исходящий tv1
Il risultato:
cercare un documento che abbia la voce "In entrata" nella sua Descrizione http://localhost:9200/_search?q=description like Входящий
Il risultato:
Cerca una carta in base al contenuto del file allegato http://localhost:9200/_search?q=content like ‘AGILE’
il risultato:
Troviamo tutte le carte del tipo documento: http://localhost:9200/_search?q=_type:CardDocument
o tutte le carte del tipo di attività: http://localhost:9200/_search?q=_type:CardTask
Utilizzando disegni ed e i parametri che Elasticsearch fornisce sotto forma di JSON, puoi assemblare la seguente richiesta: http://localhost:9200/_search?q=_type:CardTask and Employee_RoomNumber: Орёл офиc and Employee_FirstName:Konstantin
Verranno visualizzate tutte le schede del tipo di attività, tra gli utenti il cui Nome = Konstantin e che si trovano nell'Ufficio Orel.
Ma COME Ci sono altri parametri documentati:
a differenza di campi, documenti, contenuti, ecc.
Sono tutti descritti qui.