Einführung in Elasticsearch Schritt für Schritt

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

Einführung in Elasticsearch Schritt für Schritt

1. Installation

Die aktuelle Version kann über den folgenden Link heruntergeladen werden: www.elastic.co/downloads/elasticsearch
Der Screenshot des Installationsprogramms ist unten:
Einführung in Elasticsearch Schritt für Schritt

2. Funktionsprüfung

Nach Abschluss der Installation gehen Sie zu der Adresse
http://localhost:9200/
Es sollte eine Seite mit dem Status von ES angezeigt werden, Beispiel unten:
Einführung in Elasticsearch Schritt für Schritt

Wenn die Seite nicht geöffnet wird, stellen Sie sicher, dass der Elasticsearch-Dienst läuft. Auf Windows ist dies
der Elasticsearch-Dienst.
Einführung in Elasticsearch Schritt für Schritt

3. Verbindung zu Docsvision

Die Verbindung zu Elasticsearch wird auf der Seite des Full-Text-Services
für die Indizierung konfiguriert.
Einführung in Elasticsearch Schritt für Schritt

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=http://SERVER/DocsVision/StorageServer/StorageServerService.
asmx
)
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“
Einführung in Elasticsearch Schritt für Schritt

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:
http://localhost:9200/_cat/health?v

Wir erhalten eine Antwort über den Status des Elasticsearch-Dienstes (im Browser):
Einführung in Elasticsearch Schritt für Schritt
Antwort über den Status in Insomnia:
Einführung in Elasticsearch Schritt für Schritt
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):
http://localhost:9200/_cat/nodes?v
Einführung in Elasticsearch Schritt für Schritt

Alle ES-Indizes:
http://localhost:9200/_cat/indices?v
Einführung in Elasticsearch Schritt für Schritt

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:
http://localhost:9200/_cat/indices/*card*?v&s=index
Einführung in Elasticsearch Schritt für Schritt

Konfiguration von Elasticsearch

Abrufen von Einstellungen für Elasticsearch:
http://localhost:9200/_nodes
Das Ergebnis wird ziemlich umfangreich sein, einschließlich der Pfade zu den Protokollen:
Einführung in Elasticsearch Schritt für Schritt

Wie wir die Liste der Indizes herausfinden, wissen wir bereits, Docsvision macht dies automatisch, indem es den Indexnamen im Format vergibt:
<имябд+видИндексируемойКарточки>
Es ist auch möglich, einen eigenen unabhängigen Index zu erstellen:
http://localhost:9200/customer?pretty
Nur wird dies kein GET-, sondern ein PUT-Anfrage sein:
Einführung in Elasticsearch Schritt für Schritt

Ergebnis:
Einführung in Elasticsearch Schritt für Schritt

Die folgende Anfrage zeigt alle Indizes an, einschließlich der neuen (Kunde):
http://localhost:9200/_cat/indices?v
Einführung in Elasticsearch Schritt für Schritt

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:
http://localhost:9200/_cat/indices?v
Als Ergebnis sehen wir: 87 „Aufträge“ und 72 „Dokumente“ wurden indiziert, wenn wir in Begriffen unseres EDS sprechen:
Einführung in Elasticsearch Schritt für Schritt

Nach einiger Zeit sind die Ergebnisse so (standardmäßig wird der Indizierungsjob alle 5 Minuten gestartet):
Einführung in Elasticsearch Schritt für Schritt

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:

http://localhost:9200/_search?q=_id=2116C498-9D34-44C9-99B0-CE89465637C9

Falls die Karte im Speicher vorhanden ist, sehen wir ihre „rohen“ Daten, andernfalls erhalten wir eine Antwort wie die folgende:
Einführung in Elasticsearch Schritt für Schritt

Suche nach Karte im Elasticsearch-Knoten

Dokument nach exakter Übereinstimmung des Feldes Beschreibung finden:
http://localhost:9200/_search?q=description: Ausgehende tv1
Ergebnis:
Einführung in Elasticsearch Schritt für Schritt

Dokument suchen, dessen Beschreibung das Wort ‚Eingehend‘ enthält
http://localhost:9200/_search?q=description like Eingehend
Ergebnis:
Einführung in Elasticsearch Schritt für Schritt

Suche nach Karte anhand des Inhalts der angehängten Datei
http://localhost:9200/_search?q=content like ‚AGILE‘
Ergebnis:
Einführung in Elasticsearch Schritt für Schritt

Lass uns alle Karten vom Typ Dokument finden:
http://localhost:9200/_search?q=_type:CardDocument

oder alle Karten vom Typ Aufgabe:
http://localhost:9200/_search?q=_type:CardTask

Durch die Verwendung von Konstruktionen and und den Parametern, die Elasticsearch in Form von JSON ausgibt, kann man eine solche Anfrage zusammenstellen:
http://localhost:9200/_search?q=_type:CardTask and Employee_RoomNumber: Orël büro and Employee_FirstName:Konstantin

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 hier.

Für heute ist alles!

#docsvision #docsvisionECM

Nützliche Links:

  1. Insomnia Rest-Client https://insomnia.rest/download/#windows
  2. https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html
  3. https://www.elastic.co/guide/en/elasticsearch/reference/1.4/_exploring_your_data.html
  4. https://stackoverflow.com/questions/50278255/elasticsearch-backup-on-windows-and-restore-on-linux
  5. https://z0z0.me/how-to-create-snapshot-and-restore-snapshot-with-elasticsearch/
  6. https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-mlt-query.html#_document_input_parameters
  7. http://qaru.site/questions/15663281/elasticsearch-backup-on-windows-and-restore-on-linux

Quelle: habr.com

60GB SSD 8Gb DDR4