¡Hola!
Hoy hablaremos sobre el motor de búsqueda de texto completo Elasticsearch (en adelante ES), con el que
trabaja la plataforma Docsvision 5.5.

1. Instalación
La versión actual se puede descargar desde el siguiente enlace:
La captura de pantalla del instalador a continuación:

2. Verificación de funcionamiento
Después de completar la instalación, acceda a la dirección
Debería aparecer una página con el estado de ES, un ejemplo a continuación:

Si la página no se abre, asegúrese de que el servicio Elasticsearch esté en funcionamiento. En Windows, es
el servicio Elasticsearch.

3. Conexión a Docsvision
La conexión a Elasticsearch se configura en la página del servicio de
indexación de texto completo.

Aquí necesitamos especificar:
1. Dirección del servidor Elasticsearch (establecida durante la instalación).
2. Cadena de conexión a la base de datos.
3. Dirección de Docsvision (en el formato ConnectAddress=)
4. En la pestaña 'Tarjetas' y 'Directorio' es necesario configurar los datos que
se deben indexar.
También debe asegurarse de que la cuenta bajo la cual se ejecuta el servicio Docsvision
Fulltext Indexing service tenga acceso a la base de datos Docsvision en MS SQL.
Después de la conexión, debe asegurarse de que se hayan creado tareas en la base de datos MS SQL con el prefijo:
«DV:FullText__CardWithFilesPrepareRange»

Una vez que se hayan completado las configuraciones, la barra de búsqueda se desbloqueará en el cliente de Windows.
4. REST API Elastic
El administrador puede obtener información sobre el funcionamiento de Elasticsearch a través de
la REST API proporcionada.
En los siguientes ejemplos utilizaremos Insomnia Rest Client.
Obtención de información general
Una vez que el servicio se haya iniciado y esté funcionando (http://localhost:9200/ en el navegador), se puede
realizar la consulta:
Obtenemos la respuesta sobre el estado del servicio Elasticsearch (en el navegador):

Respuesta sobre el estado en Insomnia:

Notemos el estado — Verde, Amarillo, Rojo. La documentación oficial menciona lo siguiente sobre los estados:
• Verde — Todo bien (El clúster está completamente operativo)
• Amarillo — Todos los datos son accesibles, pero algunas réplicas en el clúster aún no se han asignado para su
• Rojo — Parte de los datos no está disponible por cualquier razón (el clúster funciona normalmente)
Obtención de estados sobre los nodos en el clúster y su estado (yo tengo 1 nodo):

Todos los índices (indices) de ES:

Además de los índices de Docsvision, puede haber índices de otras aplicaciones — heartbeat,
kibana — si los está utilizando. Los necesarios se pueden clasificar de los innecesarios. Por ejemplo,
tomemos solo los índices cuyos nombres contengan rd% en el título:

Configuración de Elasticsearch
Obtención de configuraciones de Elasticsearch:
El resultado será bastante extenso, incluidos los caminos a los logs:

Cómo saber la lista de índices, ya lo sabemos, Docsvision lo hace automáticamente, dando el nombre del índice en el formato:
<имябд+видИндексируемойКарточки>
También se puede crear un índice independiente propio:
Solo que no será una solicitud GET, sino una solicitud PUT:

Resultado:

la siguiente solicitud mostrará todos los índices, incluidos los nuevos (customer):

5. Obtención de información sobre datos indexados
Estado de los índices de Elasticsearch
Una vez que la configuración inicial del lado de Docsvision haya sido realizada, el servicio debe estar listo para operar y comenzar la indexación de datos.
Primero, comprobemos que los índices se están llenando y que su tamaño es mayor que los 'bytes' estándar con la consulta que ya conocemos:
como resultado vemos: se han indexado 87 'tareas' y 72 'documentos' hablando en términos de nuestro SED:

Después de un tiempo, los resultados son los siguientes (por defecto, la tarea de indexación se inicia cada 5 minutos):

Vemos que la cantidad de documentos ha aumentado.
¿Cómo saber si la tarjeta deseada está indexada?
• En primer lugar, hay que asegurarse de que el tipo de tarjeta en Docsvision coincida con los datos especificados en la configuración de Elasticsearch.
• En segundo lugar, hay que esperar a que se indexe el conjunto de tarjetas; al entrar en Docsvision, debe pasar un tiempo antes de que los datos aparezcan en el almacenamiento.
• En tercer lugar, se puede buscar la tarjeta por CardID. Esto se puede hacer con la consulta:
Si la tarjeta está en el almacenamiento, veremos sus datos 'crudos', y si no, obtendremos una respuesta como esta:

Búsqueda de la tarjeta en el nodo Elasticsearch
Encontrar un documento por coincidencia exacta del campo Description:
Resultado:

buscar un documento que tenga en Description la entrada 'Entrante'
Resultado:

Buscar la tarjeta por el contenido del archivo adjunto
resultado:

Encontraremos todas las tarjetas del tipo documento:
o todas las tarjetas del tipo tarea:
Usando construcciones y y parámetros que devuelve Elasticsearch en forma de JSON, se puede armar esta consulta:
Mostrará todas las tarjetas del tipo tarea, entre los usuarios cuyo FirstName = Konstantin, y que se encuentran en la Oficina de Óblast de Orël.
Además LIKE también hay otros parámetros documentados:
unlike, fields, docs, content, etc.
Todos están descritos .
¡Hasta hoy!
#docsvision #docsvisionECM
Enlaces útiles:
- Cliente de Rest de Insomnia
Fuente: habr.com
