Schrittweise Einführung in Elasticsearch

Hallo!
Heute werden wir über die Volltextsuchmaschine Elasticsearch (im Folgenden: ES) sprechen, mit der
Die Docsvision 5.5-Plattform wird ausgeführt.





1. Installation


Sie können die aktuelle Version unter folgendem Link herunterladen: www.elastic.co/downloads/elasticsearch
Screenshot des Installationsprogramms unten:


2. Gesundheitscheck


Gehen Sie nach Abschluss der Installation zu
http: // localhost: 9200 /
Eine Seite mit ES-Status sollte angezeigt werden, ein Beispiel unten:



Wenn die Seite nicht geöffnet wird, stellen Sie sicher, dass der Elasticsearch-Dienst ausgeführt wird. Unter Windows ist dies
Elasticsearch-Service.


3. Verbindung zu Docsvision


Die Verbindung zu Elasticsearch wird auf der Volltextservice-Seite konfiguriert
Indizierung.


Hier müssen Sie angeben:
1. Elasticsearch-Serveradresse (während der Installation festgelegt).
2. Die Verbindungszeichenfolge zum DBMS.
3. Docsvision-Adresse (im Format ConnectAddress = http: // SERVER / DocsVision / StorageServer / StorageServerService.
asmx )
4. Auf der Registerkarte "Karten" und "Verzeichnisse" müssen Sie die Daten konfigurieren, die
müssen indiziert werden.
Sie müssen auch sicherstellen, dass das Konto, unter dem der Docsvision-Dienst ausgeführt wird
Der Volltextindizierungsdienst hat Zugriff auf die Docsvision-Datenbank unter MS SQL.
Nach dem Herstellen der Verbindung müssen Sie sicherstellen, dass die Aufgaben mit dem Präfix in der MS SQL-Datenbank erstellt werden:
"DV: FullText_ <MNBD> _CardWithFilesPrepareRange"


Nach Abschluss der Einstellungen wird die Suchleiste im Windows-Client entsperrt.

4. REST API Elastic


Ein Administrator kann mithilfe von verschiedene Informationen zu Elasticsearch abrufen
bereitgestellt von der REST-API.
In den folgenden Beispielen verwenden wir den Insomnia Rest Client.

Allgemeine Informationen erhalten


Sobald der Dienst gestartet wurde und funktioniert (http: // localhost: 9200 / im Browser), können Sie
Führen Sie die Anforderung aus:
http: // localhost: 9200 / _cat / health? v

Wir erhalten eine Antwort zum Status des Elasticsearch-Dienstes (im Browser):

Antwort auf den Schlaflosigkeitsstatus:

Achten Sie auf den Status - Grün, Gelb, Rot. In der offiziellen Dokumentation heißt es über Status:
• Grün - Alles ist in Ordnung (Der Cluster ist voll funktionsfähig)
• Gelb - Alle Daten sind verfügbar, aber einige Replikate im Cluster wurden ihnen noch nicht zugewiesen.
• Rot - Ein Teil der Daten ist aus irgendeinem Grund nicht verfügbar (der Cluster selbst funktioniert normal).
Abrufen von Statusinformationen zu Knoten in einem Cluster und deren Status (ich habe 1 Knoten):
http: // localhost: 9200 / _cat / node? v


Alle Indizes von ES:
http: // localhost: 9200 / _cat / indices? v


Zusätzlich zu den Indizes von Docsvision können Indizes anderer Anwendungen vorhanden sein - Heartbeat,
Kibana - wenn Sie sie verwenden. Notwendig von unnötig kann sortiert werden. Zum Beispiel
Nehmen Sie nur die Indizes, in deren Namen% card% im Namen enthalten ist:
http: // localhost: 9200 / _cat / indices / * card *? v & s = index


Elasticsearch-Konfiguration


Elasticsearch-Einstellungen abrufen:
http: // localhost: 9200 / _nodes
Das Ergebnis wird sehr umfangreich sein, einschließlich des Pfads zu den Protokollen:


Wie Sie eine Liste von Indizes herausfinden, wissen wir bereits. Docsvision führt dies automatisch durch und gibt dem Index einen Namen im folgenden Format:
<Datenbankname + indizierte Kartenansicht>
Sie können auch Ihren eigenen unabhängigen Index erstellen:
http: // localhost: 9200 / customer? hübsch
Nur wird es kein GET sein, sondern eine PUT-Anfrage:


Ergebnis:


Die folgende Abfrage zeigt alle Indizes an, einschließlich der neuen (Kunden):
http: // localhost: 9200 / _cat / indices? v


5. Informationen zu indizierten Daten abrufen


Elasticsearch-Indexstatus


Nach Abschluss der Erstkonfiguration durch Docsvision sollte der Dienst betriebsbereit sein und mit der Indizierung der Daten beginnen.
Zunächst überprüfen wir mit der bereits bekannten Abfrage, ob die Indizes ausgefüllt sind und ihre Größe größer als die Standard-Bytes ist:
http: // localhost: 9200 / _cat / indices? v
Als Ergebnis sehen wir: 87 "Aufgaben" und 72 "Dokumente" sind in Bezug auf unser EDMS indiziert:


Nach einiger Zeit lauten die Ergebnisse wie folgt (standardmäßig beginnt die Jobindizierung alle 5 Minuten):


Wir sehen, dass die Anzahl der Dokumente zugenommen hat.

Wie kann man verstehen, dass die gewünschte Karte indiziert ist?



• Zunächst müssen Sie sicherstellen, dass der Kartentyp in Docsvision mit den in den Elascticsearch-Einstellungen angegebenen Daten übereinstimmt.
• Warten Sie zweitens auf die Indizierung des Kartenarrays. Wenn es in Docsvision eingeht, sollte es einige Zeit dauern, bis die Daten im Repository angezeigt werden.
• Drittens können Sie mit CardID nach einer Karte suchen. Dies kann auf Anfrage erfolgen:

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

Wenn sich die Karte im Geschäft befindet, werden die "Rohdaten" angezeigt. Wenn nicht, wird etwa die folgende Antwort angezeigt:


Suchen Sie im Elasticsearch-Knoten nach einer Karte


Suchen Sie das Dokument anhand der genauen Übereinstimmung des Felds Beschreibung:
http: // localhost: 9200 / _search? q = Beschreibung: Outgoing tv1
Ergebnis:


Suchen Sie in der Beschreibung nach einem Dokument mit dem Eintrag "Posteingang"
http: // localhost: 9200 / _search? q = Beschreibung wie Incoming
Ergebnis:


Suchen Sie nach einer Karte anhand des Inhalts der angehängten Datei


Alle Karten des Typdokuments finden:
http: // localhost: 9200 / _search? q = _type: CardDocument

oder alle Karten des Aufgabentyps:
http: // localhost: 9200 / _search? q = _type: CardTask

Mit den Konstruktionen und und den Parametern, die Elasticsearch als JSON zurückgibt, können Sie die folgende Anforderung zusammenstellen:
http: // localhost: 9200 / _search? q = _type: CardTask und Employee_RoomNumber: Office Eagle und Employee_FirstName: Konstantin

Es werden alle Jobtypkarten unter den Benutzern angezeigt, die Vorname = Konstantin haben und sich im Eagle Office befinden.
Neben LIKE gibt es weitere dokumentierte Parameter:
im Gegensatz zu Feldern, Dokumenten, Inhalten usw.
Alle von ihnen werden hier beschrieben.

Das ist alles für heute!

# 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

Source: https://habr.com/ru/post/de449304/


All Articles