Kennismaking met Elasticsearch stap voor stap

Hallo!
Vandaag gaan we het hebben over de full-text search engine Elasticsearch (hierna ES), die
gebruikt wordt door het Docsvision 5.5 platform.

Kennismaking met Elasticsearch stap voor stap

1. Installatie

U kunt de actuele versie downloaden via de link: www.elastic.co/downloads/elasticsearch
Screenshot van de installatie-assistent hieronder:
Kennismaking met Elasticsearch stap voor stap

2. Controle van de functionaliteit

Ga na de installatie naar het adres
http://localhost:9200/
De pagina met de status van ES zou moeten verschijnen, voorbeeld hieronder:
Kennismaking met Elasticsearch stap voor stap

Als de pagina niet opent, controleer dan of de Elasticsearch-service is gestart. In Windows is dit
de Elasticsearch-service.
Kennismaking met Elasticsearch stap voor stap

3. Verbinding met Docsvision

De verbinding met Elasticsearch wordt ingesteld op de pagina van de full-text
indexering service.
Kennismaking met Elasticsearch stap voor stap

Hier moet worden opgegeven:
1. Adres van de Elasticsearch-server (ingesteld tijdens de installatie).
2. Verbindingstring voor de DBMS.
3. Adres Docsvision (in het formaat ConnectAddress=http://SERVER/DocsVision/StorageServer/StorageServerService.
asmx
)
4. Op het tabblad 'Kaarten' en 'Gidsen' moeten de gegevens worden ingesteld die
geïndexeerd moeten worden.
Zorg er ook voor dat het account waaronder de service Docsvision draait
Fulltext Indexing service, toegang heeft tot de Docsvision DB op MS SQL.
Na de verbinding moet u controleren of er taken in de MS SQL DB zijn aangemaakt met het prefix:
‘DV:FullText__CardWithFilesPrepareRange’
Kennismaking met Elasticsearch stap voor stap

Na de instellingen in de Windows-client wordt de zoekbalk ontgrendeld.

4. REST API Elastic

De beheerder kan verschillende informatie over de werking van Elasticsearch verkrijgen met behulp van
de beschikbare REST API.
In de volgende voorbeelden gebruiken we de Insomnia Rest Client.

Verkrijgen van algemene informatie

Zodra de service is gestart en werkt (http://localhost:9200/ in de browser), kunt u
de volgende aanvraag uitvoeren:
http://localhost:9200/_cat/health?v

We krijgen een reactie over de status van de Elasticsearch-service (in de browser):
Kennismaking met Elasticsearch stap voor stap
Reactie over de status in Insomnia:
Kennismaking met Elasticsearch stap voor stap
Let op de Status — Groen, Geel, Rood. De officiële documentatie zegt het volgende over de statussen:
• Groen — Alles goed (Cluster volledig operationeel)
• Geel — Alle gegevens toegankelijk, maar sommige replica's zijn nog niet toegewezen aan de cluster
• Rood — Een deel van de gegevens is om welke reden dan ook niet beschikbaar (de cluster functioneert normaal)
Verkrijgen van statusinformatie over de knooppunten in de cluster en hun status (ik heb 1 knoop):
http://localhost:9200/_cat/nodes?v
Kennismaking met Elasticsearch stap voor stap

Alle indexen (indices) van ES:
http://localhost:9200/_cat/indices?v
Kennismaking met Elasticsearch stap voor stap

Naast de indexen van Docsvision, kunnen er ook indexen van andere applicaties zijn — heartbeat,
kibana — als u deze gebruikt. Nuttige van onnodige kunnen worden gesorteerd. Bijvoorbeeld,
Laten we alleen de items nemen waarvan de naam rd% bevat:
http://localhost:9200/_cat/indices/*card*?v&s=index
Kennismaking met Elasticsearch stap voor stap

Configuratie van Elasticsearch

Verkrijgen van de instellingen van Elasticsearch:
http://localhost:9200/_nodes
Het resultaat zal behoorlijk uitgebreid zijn, inclusief paden naar de logs:
Kennismaking met Elasticsearch stap voor stap

Hoe we de lijst met indexen kunnen achterhalen, weten we al, Docsvision doet dit automatisch door de naam van de index in het formaat te geven:
<имябд+видИндексируемойКарточки>
Het is ook mogelijk om een eigen onafhankelijke index te creëren:
http://localhost:9200/customer?pretty
Alleen zal dit geen GET, maar een PUT verzoek zijn:
Kennismaking met Elasticsearch stap voor stap

Resultaat:
Kennismaking met Elasticsearch stap voor stap

De volgende aanvraag toont alle indexen, inclusief de nieuwe (customer):
http://localhost:9200/_cat/indices?v
Kennismaking met Elasticsearch stap voor stap

5. Informatie over geïndexeerde gegevens ophalen

De status van Elasticsearch-indexen

Nadat de initiële instellingen vanuit Docsvision zijn uitgevoerd, moet de service klaar zijn voor gebruik en voor het starten van het indexeren van gegevens.
Laten we eerst controleren of de indexen worden ingevuld en hun grootte groter is dan de standaard 'bytes' met de al bekende aanvraag:
http://localhost:9200/_cat/indices?v
Als resultaat zien we: 87 'opdrachten' en 72 'documenten' geïndexeerd als we het in termen van ons DMS zeggen:
Kennismaking met Elasticsearch stap voor stap

Na enige tijd zijn de resultaten als volgt (standaard wordt de indexeringsopdracht elke 5 minuten uitgevoerd):
Kennismaking met Elasticsearch stap voor stap

We zien dat het aantal documenten is toegenomen.

Hoe weet je dat de benodigde kaart is geïndexeerd?

• Ten eerste moet je ervoor zorgen dat het type kaart in Docsvision overeenkomt met de in Elasticsearch ingestelde gegevens.
• Ten tweede moet je wachten op de indexering van de kaartenset – er moet enige tijd verstrijken nadat deze in Docsvision is gekomen voordat de gegevens in de opslag verschijnen.
• Ten derde kun je de kaart zoeken op CardID. Dit kan met de volgende aanvraag:

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

Als de kaart in de opslag aanwezig is, zien we de 'ruwe' gegevens, als dat niet het geval is, zullen we een ongeveer dergelijk antwoord zien:
Kennismaking met Elasticsearch stap voor stap

Zoeken naar een kaart in de Elasticsearch-node

Een document vinden op basis van een exact overeenkomend veld Description:
http://localhost:9200/_search?q=description: Uitgaand tv1
Resultaat:
Kennismaking met Elasticsearch stap voor stap

zoek een document waarin in Description de tekst 'Inkomend' voorkomt
http://localhost:9200/_search?q=description like Inkomend
Resultaat:
Kennismaking met Elasticsearch stap voor stap

Zoeken naar een kaart op basis van de inhoud van het bijgevoegde bestand
http://localhost:9200/_search?q=content like 'AGILE'
resultaat:
Kennismaking met Elasticsearch stap voor stap

Laten we alle kaarten van het type document vinden:
http://localhost:9200/_search?q=_type:CardDocument

of alle kaarten van het type opdracht:
http://localhost:9200/_search?q=_type:CardTask

Met behulp van constructies en en parameters die Elasticsearch in JSON-formaat retourneert, kun je de volgende aanvraag samenstellen:
http://localhost:9200/_search?q=_type:CardTask and Employee_RoomNumber: Orël kantoor and Employee_FirstName:Konstantin

Dit zal alle kaarten van het type opdracht tonen, onder de gebruikers waarvan FirstName = Konstantin en zich in Orël kantoor bevinden.
Bovendien LIKE er zijn ook andere gedocumenteerde parameters:
unlike, fields, docs, content, enzovoort.
Ze zijn allemaal beschreven here.

Dat is alles voor vandaag!

#docsvision #docsvisionECM

Nuttige 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

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster