Hallo!
Heute sprechen wir über die Volltextsuch-Engine Elasticsearch (im Folgenden ES), die
mit der Plattform Docsvision 5.5 arbeitet.

1. Installation
Die aktuelle Version kann über den folgenden Link heruntergeladen werden:
Screenshot des Installationsprogramms siehe unten:

2. Funktionstest
Nach Abschluss der Installation gehen Sie zu:
Es sollte eine Seite mit dem Status von ES angezeigt werden, siehe Beispiel unten:

Wenn die Seite nicht geöffnet wurde, stellen Sie sicher, dass der Elasticsearch-Dienst läuft. In Windows ist dies
der Elasticsearch-Dienst.

3. Verbindung zu Docsvision
Die Verbindung zu Elasticsearch wird auf der Seite des Volltextindizierungsdienstes konfiguriert.
Hier müssen Sie angeben:

1. Die Adresse des Elasticsearch-Servers (wird bei der Installation festgelegt).
2. Die Verbindungszeichenfolge zur Datenbank.
3. Die Adresse von Docsvision (im Format ConnectAddress=
asmx)
indiziert werden sollen.
Außerdem muss sichergestellt werden, dass das Konto, unter dem der Dienst Docsvision
Fulltext Indexing service läuft, Zugriff auf die Datenbank Docsvision auf MS SQL hat.
Nach der Verbindung sollte überprüft werden, dass in der MS SQL-Datenbank Aufgaben mit dem Präfix erstellt wurden:
„DV:FullText__CardWithFilesPrepareRange“
«DV:FullText_<ИМЯБД>_CardWithFilesPrepareRange»

Nach Abschluss der Einstellungen im Windows-Client wird die Suchzeile freigeschaltet.
4. REST API Elastic
Der Administrator kann verschiedene Informationen über die Funktionsweise von Elasticsearch mithilfe von
der bereitgestellten REST API abrufen.
In den folgenden Beispielen verwenden wir den Insomnia Rest Client.
Abrufen allgemeiner Informationen
Sobald der Dienst gestartet und funktionsfähig ist (http://localhost:9200/ im Browser), kann
eine Anfrage ausgeführt werden:
Wir erhalten eine Antwort über den Status des Elasticsearch-Dienstes (im Browser):

Antwort über den Status in Insomnia:

Wir achten auf den Status — Grün, Gelb, Rot. Die offizielle Dokumentation besagt folgendes zu den Status:
• Grün — Alles in Ordnung (Cluster voll funktionsfähig)
• Gelb — Alle Daten sind verfügbar, aber einige Replikate im Cluster sind derzeit nicht zugewiesen.
• Rot — 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 Status (ich habe 1 Knoten):

Alle Indizes (indices) von ES:

Neben den Indizes von Docsvision können auch Indizes anderer Anwendungen vorhanden sein — heartbeat,
kibana — falls Sie diese verwenden. Nützliche von unnötigen können sortiert werden. Zum Beispiel,
nehmen wir nur die Indizes, in deren Name rd% enthalten ist:

Elasticsearch-Konfiguration
Abrufen der Elasticsearch-Einstellungen:
Das Ergebnis wird recht umfangreich sein, einschließlich der Pfade zu den Logs:

Wie wir bereits wissen, erstellt Docsvision automatisch eine Liste der Indizes, indem es den Indexnamen im Format angibt:
<имябд+видИндексируемойКарточки>
Es kann auch ein eigener unabhängiger Index erstellt werden:
Dabei handelt es sich jedoch um eine PUT-Anfrage, nicht um eine GET-Anfrage:

Das Ergebnis:

Die nächste Anfrage zeigt alle Indizes an, einschließlich neuer (customer):

5. Abrufen von Informationen zu indizierten Daten
Status der Elasticsearch-Indizes
Nachdem die anfänglichen Einstellungen seitens Docsvision vorgenommen wurden, sollte der Dienst bereit sein, um Daten zu indizieren.
Überprüfen wir zuerst, ob die Indizes gefüllt werden und ihre Größe größer ist als die normalen 'Bytes' mit einer uns bereits bekannten Anfrage:
Das Ergebnis zeigt: 87 'Aufgaben' und 72 'Dokumente' wurden indiziert, wenn wir in den Begriffen unseres EDV-Systems sprechen:

Nach einiger Zeit sind die Ergebnisse wie folgt (standardmäßig wird der Indizierungsjob alle 5 Minuten gestartet):

Wir sehen, dass die Anzahl der Dokumente gestiegen ist.
Wie können wir feststellen, dass die benötigte Karte indiziert wurde?
• Zunächst sollten Sie sicherstellen, dass der Kartentyp in Docsvision mit den in den Elasticsearch-Einstellungen angegebenen Daten übereinstimmt.
• Zweitens sollten Sie die Indizierung des Kartenarrays abwarten – nach der Eingabe in Docsvision benötigt es etwas Zeit, bis die Daten im Speicher verfügbar sind.
• Drittens können Sie nach der Karte anhand der CardID suchen. Dazu können Sie folgende Anfrage verwenden:
Falls die Karte im Speicher vorhanden ist, sehen wir ihre «rohen» Daten; andernfalls erhalten wir eine ähnliche Antwort:

Suche nach der Karte im Elasticsearch-Knoten
Dokument anhand eines genauen Feldes Description suchen:
Das Ergebnis:

Suche nach Dokumenten, bei denen im Description das Wort 'Eingehend' vorkommt
Das Ergebnis:

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

Suchen wir alle Karten des Typs Dokument:
oder alle Karten des Typs Aufgabe:
Durch die Verwendung von Konstruktionen und und Parametern, die Elasticsearch in Form von JSON zurückgibt, können Sie die folgende Anfrage erstellen:
Dies zeigt alle Karten des Typs Aufgabe an, unter den Benutzern, bei denen FirstName = Konstantin und die sich im Orl Büro befinden.
Zusätzlich LIKE Es gibt auch andere dokumentierte Parameter:
im Gegensatz zu Feldern, Dokumenten, Inhalten usw.
Alle sind beschrieben .
Das ist alles für heute!
#docsvision #docsvisionECM
Nützliche Links:
- Insomnia Rest Client
Quelle: habr.com
