Hallo!
Heute werden wir ĂŒber die Full-Text-Suchmaschine Elasticsearch (im Folgenden ES) sprechen, mit der
die Plattform Docsvision 5.5 arbeitet.

1. Installation
Die aktuelle Version kann ĂŒber den folgenden Link heruntergeladen werden:
Der Screenshot des Installationsprogramms ist unten:

2. FunktionsprĂŒfung
Nach Abschluss der Installation gehen Sie zu der Adresse
Es sollte eine Seite mit dem Status von ES angezeigt werden, Beispiel unten:

Wenn die Seite nicht geöffnet wird, stellen Sie sicher, dass der Elasticsearch-Dienst lÀuft. Auf Windows ist dies
der Elasticsearch-Dienst.

3. Verbindung zu Docsvision
Die Verbindung zu Elasticsearch wird auf der Seite des Full-Text-Services
fĂŒr die Indizierung konfiguriert.

Hier mĂŒssen Sie angeben:
1. Adresse des Elasticsearch-Servers (wird bei der Installation festgelegt).
2. Verbindungszeichenfolge zur DBMS.
3. Adresse Docsvision (im Format ConnectAddress=)
4. Auf den Registerkarten âKartenâ und âVerzeichnisseâ mĂŒssen die Daten konfiguriert werden, die
indiziert werden sollen.
Es muss auch sichergestellt werden, dass das Benutzerkonto, unter dem der Dienst Docsvision
Fulltext Indexing service lÀuft, Zugriff auf die Docsvision-Datenbank auf MS SQL hat.
Nach der Verbindung sollte sichergestellt werden, dass in der MS SQL-Datenbank Aufgaben mit dem PrÀfix erstellt wurden:
âDV:FullText__CardWithFilesPrepareRangeâ

Nach den Einstellungen wird das Suchfeld im Windows-Client freigeschaltet.
4. REST API Elastic
Der Administrator kann verschiedene Informationen ĂŒber die Funktionsweise von Elasticsearch ĂŒber die
bereitgestellte REST API abrufen.
In den folgenden Beispielen verwenden wir den Insomnia Rest Client.
Abrufen von allgemeinen Informationen
Sobald der Dienst gestartet ist und funktioniert (http://localhost:9200/ im Browser), können Sie
die Abfrage ausfĂŒhren:
Wir erhalten eine Antwort ĂŒber den Status des Elasticsearch-Dienstes (im Browser):

Antwort ĂŒber den Status in Insomnia:

Beachten Sie den Status â GrĂŒn, Gelb, Rot. Die offizielle Dokumentation sagt zu den Statusfolgendes:
âą GrĂŒn â Alles in Ordnung (Cluster voll funktionsfĂ€hig)
âą Gelb â Alle Daten sind verfĂŒgbar, aber einige Replikate im Cluster sind derzeit noch nicht zugewiesen
âą Rot â Ein Teil der Daten ist aus irgendeinem Grund nicht verfĂŒgbar (der Cluster funktioniert jedoch normal)
Abrufen der ZustÀnde der Knoten im Cluster und deren Zustand (ich habe 1 Knoten):

Alle ES-Indizes:

Neben den Indizes von Docsvision können auch Indizes anderer Anwendungen vorhanden sein â heartbeat,
kibana â wenn Sie diese verwenden. NĂŒtzliche von unnötigen können gefiltert werden. Zum Beispiel
Lass uns nur die Indizes nehmen, deren Namen rd% enthalten:

Konfiguration von Elasticsearch
Abrufen von Einstellungen fĂŒr Elasticsearch:
Das Ergebnis wird ziemlich umfangreich sein, einschlieĂlich der Pfade zu den Protokollen:

Wie wir die Liste der Indizes herausfinden, wissen wir bereits, Docsvision macht dies automatisch, indem es den Indexnamen im Format vergibt:
<imnamebd+typeIndexedCard>
Es ist auch möglich, einen eigenen unabhÀngigen Index zu erstellen:
Nur wird dies kein GET-, sondern ein PUT-Anfrage sein:

Ergebnis:

Die folgende Anfrage zeigt alle Indizes an, einschlieĂlich der neuen (Kunde):

5. Abruf von Informationen ĂŒber indizierte Daten
Zustand der Elasticsearch-Indizes
Nachdem die ursprĂŒngliche Konfiguration von Docsvision durchgefĂŒhrt wurde, sollte der Dienst bereit zur Arbeit und zum Start der Indizierung von Daten sein.
Zuerst prĂŒfen wir, ob die Indizes gefĂŒllt sind und ihre GröĂe gröĂer ist als die Standard-âBytesâ mit der fĂŒr uns bereits bekannten Anfrage:
Als Ergebnis sehen wir: 87 âAuftrĂ€geâ und 72 âDokumenteâ wurden indiziert, wenn wir in Begriffen unseres EDS sprechen:

Nach einiger Zeit sind die Ergebnisse so (standardmĂ€Ăig wird der Indizierungsjob alle 5 Minuten gestartet):

Dabei sehen wir, dass die Anzahl der Dokumente zugenommen hat.
Wie erkennt man, dass die benötigte Karte indiziert wurde?
âą Erstens muss sichergestellt werden, dass der Kartentyp in Docsvision mit den in den Elasticsearch-Einstellungen angegebenen Daten ĂŒbereinstimmt.
âą Zweitens muss man auf die Indizierung des Kartenarrays warten - es kann einige Zeit dauern, bis die Daten in Docsvision im Speicher erscheinen.
âą Drittens kann man die Karte nach CardID suchen. Dies kann mit der folgenden Anfrage geschehen:
Falls die Karte im Speicher vorhanden ist, sehen wir ihre ârohenâ Daten, andernfalls erhalten wir eine Antwort wie die folgende:

Suche nach Karte im Elasticsearch-Knoten
Dokument nach exakter Ăbereinstimmung des Feldes Beschreibung finden:
Ergebnis:

Dokument suchen, dessen Beschreibung das Wort âEingehendâ enthĂ€lt
Ergebnis:

Suche nach Karte anhand des Inhalts der angehÀngten Datei
Ergebnis:

Lass uns alle Karten vom Typ Dokument finden:
oder alle Karten vom Typ Aufgabe:
Durch die Verwendung von Konstruktionen and und den Parametern, die Elasticsearch in Form von JSON ausgibt, kann man eine solche Anfrage zusammenstellen:
Es zeigt alle Karten vom Typ Aufgabe unter den Benutzern an, deren Vorname = Konstantin ist und die sich im BĂŒro OrĂ«l befinden.
AuĂerdem LIKE gibt es auch andere dokumentierte Parameter:
unlike, fields, docs, content usw.
Alle sind beschrieben .
FĂŒr heute ist alles!
#docsvision #docsvisionECM
NĂŒtzliche Links:
- Insomnia Rest-Client
Quelle: habr.com
