¡Hola!
Hoy hablaremos del motor de búsqueda de texto completo Elasticsearch (en adelante ES), con el que
La plataforma Docsvision 5.5 se está ejecutando.
Una vez completada la instalación, vaya a http://localhost:9200/
Debería mostrarse la página de estado de ES, ejemplo a continuación:
Si la página no se abre, asegúrese de que el servicio Elasticsearch se esté ejecutando. En Windows esto es
Servicio de búsqueda elástica.
3. Conéctese a Docsvision
La conexión a Elasticsearch se configura en la página del servicio de texto completo
indexación.
Aquí debe especificar:
1. Dirección del servidor Elasticsearch (establecida durante la instalación).
2. Cadena de conexión al DBMS.
3. Dirección de Docsvision (en el formato ConnectAddress=http://SERVER/DocsVision/StorageServer/StorageServerService.
asmx)
4. En la pestaña “Tarjetas” y “Directorios”, debe configurar los datos que
necesita ser indexado.
También debe asegurarse de que la cuenta bajo la cual se ejecuta el servicio Docsvision
Servicio de Indexación de texto completo, tiene acceso a la base de datos de Docsvision en MS SQL.
Después de conectarse, debe asegurarse de que los trabajos con el prefijo se creen en la base de datos MS SQL:
"DV:FullText_<DBNAME>_CardWithFilesPrepareRange"
Después de completar la configuración, la barra de búsqueda se desbloqueará en el cliente de Windows.
4. API REST elástica
El administrador puede obtener diversa información sobre el funcionamiento de Elasticsearch utilizando
proporcionada por la API REST.
En los siguientes ejemplos utilizaremos Insomnia Rest Client.
Obtener información general
Una vez que el servicio esté en funcionamiento (http://localhost:9200/ en el navegador), puede
ejecutar la solicitud: http://localhost:9200/_cat/health?v
Obtengamos una respuesta sobre el estado del servicio Elasticsearch (en el navegador):
Respuesta del estado de insomnio:
Prestemos atención al estado: verde, amarillo, rojo. La documentación oficial dice lo siguiente sobre los estados:
• Verde: todo está bien (el clúster está en pleno funcionamiento)
• Amarillo: todos los datos están disponibles, pero algunas réplicas en el clúster aún no están asignadas.
• Rojo: parte de los datos no está disponible por algún motivo (el clúster en sí funciona normalmente)
Obtener estados sobre los nodos del clúster y su estado (tengo 1 nodo): http://localhost:9200/_cat/nodes?v
Todos los índices ES: http://localhost:9200/_cat/indices?v
Además de los índices de Docsvision, también puede haber índices de otras aplicaciones: heartbeat,
kibana - si los usas. Puede ordenar los necesarios de los innecesarios. Por ejemplo,
Tomemos sólo índices que tengan %card% en el nombre: http://localhost:9200/_cat/indices/*card*?v&s=index
Configuración de búsqueda elástica
Obteniendo la configuración de Elasticsearch: http://localhost:9200/_nodes
El resultado será bastante extenso, incluidas las rutas a los registros:
Ya sabemos cómo conocer la lista de índices; Docsvision lo hace automáticamente, dándole el nombre al índice en el formato:
<nombre de la base de datos+tipo de tarjeta indexada>
También puedes crear tu propio índice independiente: http://localhost:9200/customer?pretty
Sólo que esto no será una solicitud GET, sino una solicitud PUT:
Resultado:
la siguiente consulta mostrará todos los índices, incluidos los nuevos (cliente): http://localhost:9200/_cat/indices?v
5. Obtención de información sobre datos indexados
Estado del índice de Elasticsearch
Una vez completada la configuración inicial de Docsvision, el servicio debería estar listo para funcionar y comenzar a indexar datos.
En primer lugar, comprobemos que los índices estén completos y que su tamaño sea mayor que los "bytes" estándar mediante una consulta que ya conocemos: http://localhost:9200/_cat/indices?v
Como resultado, vemos: se indexaron 87 "tareas" y 72 "documentos", hablando en términos de nuestro EDMS:
Después de un tiempo, los resultados son los siguientes (de forma predeterminada, los trabajos de indexación se inician cada 5 minutos):
Vemos que el número de documentos ha aumentado.
¿Cómo sabes que la tarjeta que necesitas ha sido indexada?
• Primero, debe asegurarse de que el tipo de tarjeta en Docsvision coincida con los datos especificados en la configuración de Elasticsearch.
• En segundo lugar, espere a que se indexe el conjunto de tarjetas; cuando llega a Docsvision, debe pasar algún tiempo antes de que los datos aparezcan en el almacenamiento.
• En tercer lugar, puede buscar una tarjeta por CardID. Puedes hacerlo con la siguiente solicitud:
Si la tarjeta está en el almacenamiento veremos sus datos “sin procesar”; si no, veremos algo como esto:
Buscando una tarjeta en un nodo de Elasticsearch
Encuentre un documento por coincidencia exacta del campo Descripción: http://localhost:9200/_search?q=description: Исходящий tv1
Resultado:
buscar un documento que tenga una entrada 'Entrante' en su Descripción http://localhost:9200/_search?q=description like Входящий
Resultado:
Busque una tarjeta por el contenido del archivo adjunto http://localhost:9200/_search?q=content like ‘AGILE’
resultado:
Busquemos todas las tarjetas del tipo de documento: http://localhost:9200/_search?q=_type:CardDocument
o todas las tarjetas del tipo de tarea: http://localhost:9200/_search?q=_type:CardTask
Usando diseños y y los parámetros que Elasticsearch da en forma de JSON, puedes armar la siguiente solicitud: http://localhost:9200/_search?q=_type:CardTask and Employee_RoomNumber: Орёл офиc and Employee_FirstName:Konstantin
Mostrará todas las tarjetas del tipo de tarea, entre los usuarios cuyo nombre = Konstantin y que están en Eagle Office.
excepto COMO Hay otros parámetros documentados:
a diferencia de, campos, documentos, contenido, etc.
Todos ellos están descritos. aquí.