Bonjour
Aujourd'hui, nous allons parler du moteur de recherche plein texte Elasticsearch (ci-après ES), avec lequel
La plate-forme Docsvision 5.5 est en cours d'exécution.

1. Installation
Vous pouvez télécharger la version actuelle à partir du lien:
www.elastic.co/downloads/elasticsearchCapture d'écran du programme d'installation ci-dessous:

2. Bilan de santé
Une fois l'installation terminĂ©e, accĂ©dez Ă
http: // localhost: 9200 /Une page avec le statut ES devrait apparaître, un exemple ci-dessous:

Si la page ne s'ouvre pas, assurez-vous que le service Elasticsearch est en cours d'exécution. Sous Windows, ce
Service Elasticsearch.

3. Connexion Ă Docsvision
La connexion à Elasticsearch est configurée sur la page de service de texte intégral
indexation.

Ici, vous devez spécifier:
1. Adresse du serveur Elasticsearch (définie lors de l'installation).
2. La chaîne de connexion au SGBD.
3. Adresse Docsvision (au format ConnectAddress =
http: // SERVER / DocsVision / StorageServer / StorageServerService.
asmx )
4. Dans l'onglet "Cartes" et "Répertoires", vous devez configurer les données
doivent être indexés.
Vous devez également vous assurer que le compte sous lequel le service Docsvision s'exécute
Le service d'indexation Fulltext a accès à la base de données Docsvision sur MS SQL.
Après la connexion, vous devez vous assurer que les tâches avec le préfixe sont créées dans la base de données MS SQL:
"DV: FullText_ <MNBD> _CardWithFilesPrepareRange"

Une fois les paramètres définis, la barre de recherche sera déverrouillée dans le client Windows.
4. Élastique API REST
Un administrateur peut obtenir diverses informations sur Elasticsearch Ă l'aide de
fourni par l'API REST.
Dans les exemples suivants, nous utiliserons Insomnia Rest Client.
Obtenir des informations générales
Une fois que le service a démarré et commencé à fonctionner (http: // localhost: 9200 / dans le navigateur), vous pouvez
exécuter la demande:
http: // localhost: 9200 / _cat / health? vNous obtiendrons une réponse sur le statut du service Elasticsearch (dans le navigateur):

Réponse au statut d'insomnie:

Faites attention au statut - vert, jaune, rouge. La documentation officielle dit ce qui suit sur les statuts:
• Vert - Tout va bien (le cluster est pleinement opérationnel)
• Jaune - Toutes les données sont disponibles, mais certaines répliques du cluster ne leur ont pas encore été allouées.
• Rouge - Une partie des données n'est pas disponible pour une raison quelconque (le cluster lui-même fonctionne normalement)
Obtenir des états sur les nœuds d'un cluster et leur état (j'ai 1 nœud):
http: // localhost: 9200 / _cat / nodes? v
Tous les indices ES:
http: // localhost: 9200 / _cat / indices? v
En plus des indices de Docsvision, il peut y avoir des indices d'autres applications - rythme cardiaque,
kibana - si vous les utilisez. Du nécessaire au superflu peut être trié. Par exemple
prendre uniquement les indices au nom desquels il y a% card% dans le nom:
http: // localhost: 9200 / _cat / indices / * card *? v & s = index
Configuration d'Elasticsearch
Obtention des paramètres Elasticsearch:
http: // localhost: 9200 / _nodesLe résultat sera assez complet, y compris le chemin d'accès aux journaux:

Comment connaître une liste d'index, nous le savons déjà , Docsvision le fait automatiquement, en donnant à l'index un nom au format:
<nom de la base de données + vue Carte indexée>
Vous pouvez également créer votre propre index indépendant:
http: // localhost: 9200 / client? jolieSeulement ce ne sera pas un GET, mais une requĂŞte PUT:

Résultat:

La requĂŞte suivante affichera tous les index, y compris les nouveaux (client):
http: // localhost: 9200 / _cat / indices? v
5. Obtenir des informations sur les données indexées
Statut de l'index Elasticsearch
Une fois la configuration initiale de Docsvision terminée, le service doit être prêt à fonctionner et à démarrer l'indexation des données.
Tout d'abord, nous allons vérifier que les indices sont renseignés et que leur taille est supérieure aux «octets» standard avec la requête que nous connaissons déjà :
http: // localhost: 9200 / _cat / indices? ven conséquence, nous voyons: 87 «tâches» et 72 «documents» sont indexés en fonction de notre EDMS:

Après un certain temps, les résultats sont les suivants (par défaut, l'indexation des travaux commence toutes les 5 minutes):

On voit que le nombre de documents a augmenté.
Comment comprendre que la carte souhaitée est indexée?
• Tout d'abord, vous devez vous assurer que le type de carte dans Docsvision correspond aux données spécifiées dans les paramètres Elascticsearch.
• Deuxièmement, attendez l'indexation du tableau de cartes - s'il entre dans Docsvision, cela devrait prendre un certain temps avant que les données n'apparaissent dans le référentiel.
• Troisièmement, vous pouvez rechercher une carte par CardID. Cela peut être fait sur demande:
http: // localhost: 9200 / _search? q = _id = 2116C498-9D34-44C9-99B0-CE89465637C9Si la carte est dans le magasin, nous verrons ses données "brutes", sinon, nous verrons quelque chose comme cette réponse:

Rechercher une carte dans le nœud Elasticsearch
Recherchez le document par la correspondance exacte du champ Description:
http: // localhost: 9200 / _search? q = description: TV1 sortantRésultat:

rechercher un document qui a une entrée «Boîte de réception» dans la description
http: // localhost: 9200 / _search? q = description comme IncomingRésultat:

Rechercher une carte par le contenu du fichier joint

Retrouvez toutes les fiches du type document:
http: // localhost: 9200 / _search? q = _type: CardDocumentou toutes les cartes du type de tâche:
http: // localhost: 9200 / _search? q = _type: CardTaskEn utilisant les constructions
et et les paramètres renvoyés par Elasticsearch au format JSON, vous pouvez assembler la demande suivante:
http: // localhost: 9200 / _search? q = _type: CardTask et Employee_RoomNumber: Office eagle et Employee_FirstName: KonstantinIl affichera toutes les cartes de type de travail, parmi les utilisateurs qui ont FirstName = Konstantin et qui sont dans le bureau Eagle.
En plus de
LIKE, il existe d'autres paramètres documentés:
contrairement aux champs, aux documents, au contenu, etc.
Tous sont décrits
ici .
C'est tout pour aujourd'hui!
# docsvision
# docsvisionECM
Liens utiles:
- Client Insomnia Rest https://insomnia.rest/download/#windows
- https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html
- https://www.elastic.co/guide/en/elasticsearch/reference/1.4/_exploring_your_data.html
- https://stackoverflow.com/questions/50278255/elasticsearch-backup-on-windows-and-restore-on-linux
- https://z0z0.me/how-to-create-snapshot-and-restore-snapshot-with-elasticsearch/
- https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-mlt-query.html#_document_input_parameters
- http://qaru.site/questions/15663281/elasticsearch-backup-on-windows-and-restore-on-linux