Olá!
Hoje falaremos sobre o mecanismo de busca de texto completo Elasticsearch (daqui em diante ES), com o qual
a plataforma Docsvision 5.5. trabalha.

1. Instalação
Você pode baixar a versão mais recente no link:
A captura de tela do instalador está abaixo:

2. Verificação de funcionalidade
Após a conclusão da instalação, acesse o endereço
Deve aparecer uma página com o estado do ES, exemplo abaixo:

Se a página não abrir, verifique se o serviço Elasticsearch está em execução. No Windows, é a
serviço Elasticsearch.

3. Conexão com Docsvision
A conexão com o Elasticsearch é configurada na página do serviço de indexação de texto completo.
1. Endereço do servidor Elasticsearch (definido durante a instalação).

Aqui é necessário especificar:
2. String de conexão com o SGBD.
3. Endereço Docsvision (no formato ConnectAddress=
asmx)
precisam ser indexados.
Além disso, é importante garantir que a conta sob a qual o serviço Docsvision
Fulltext Indexing service está em execução tenha acesso ao banco de dados Docsvision no MS SQL.
Após a conexão, deve-se garantir que no banco de dados MS SQL foram criadas tarefas com o prefixo:
‘DV:FullText__CardWithFilesPrepareRange’
Após as configurações, a barra de busca será desbloqueada no cliente Windows.

4. REST API Elastic
O administrador pode obter várias informações sobre o funcionamento do Elasticsearch através do
REST API fornecido.
Nos exemplos a seguir, usaremos o Insomnia Rest Client.
Obtenção de informações gerais
Assim que o serviço for iniciado e estiver funcionando (http://localhost:9200/ no navegador), é possível
executar a solicitação:
Receberemos a resposta sobre o estado do serviço Elasticsearch (no navegador):
Resposta sobre o estado no Insomnia:

Vamos prestar atenção ao Status — Green, Yellow, Red. A documentação oficial diz sobre os estados o seguinte:

• Green — Tudo certo (O cluster está completamente operacional)
• Yellow — Todos os dados estão disponíveis, mas algumas réplicas no cluster ainda não estão alocadas
• Red — Parte dos dados não está disponível por qualquer motivo (o cluster em si está funcionando normalmente)
Obtenção dos estados dos nós no cluster e seu estado (eu tenho 1 nó):
Todos os índices (indices) ES:

Além dos índices do Docsvision, pode haver índices de outros aplicativos — heartbeat,

kibana — se você os estiver usando. É possível filtrar os necessários dos desnecessários. Por exemplo,
vamos pegar apenas os índices em cujos nomes contém rd%:
vamos pegar apenas os índices cujos nomes contenham rd% no título:

Obtenção das configurações do Elasticsearch:
Obtendo configurações do Elasticsearch:
O resultado será bastante abrangente, incluindo os caminhos para os logs:

Como saber a lista de índices, já sabemos, a Docsvision faz isso automaticamente, dando o nome ao índice no formato:
<имябд+видИндексируемойКарточки>
Também é possível criar um índice independente:
Apenas que isso não será uma solicitação GET, mas uma solicitação PUT:

Resultado:

a próxima solicitação mostrará todos os índices, inclusive os novos (customer):

5. Obtendo informações sobre os dados indexados
Estado dos índices Elasticsearch
Depois que a configuração inicial do lado da Docsvision foi realizada, o serviço deve estar pronto para operar e começar a indexar dados.
Antes de tudo, vamos verificar se os índices estão sendo preenchidos e seu tamanho é maior do que os 'bytes' padrão com a consulta que já conhecemos:
como resultado vemos: 87 'tarefas' e 72 'documentos' indexados, falando em termos do nosso SED:

Após algum tempo, os resultados são os seguintes (por padrão, a tarefa de indexação é iniciada a cada 5 minutos):

Vemos que o número de documentos aumentou.
Como entender que o cartão desejado foi indexado?
• Em primeiro lugar, é necessário garantir que o tipo de cartão na Docsvision corresponda aos dados especificados nas configurações do Elasticsearch.
• Em segundo lugar, deve-se aguardar a indexação do conjunto de cartões – ao entrar na Docsvision, deve-se passar algum tempo até que os dados apareçam no armazenamento.
• Em terceiro lugar, é possível procurar o cartão pelo CardID. Isso pode ser feito com a solicitação:
Caso o cartão esteja no armazenamento, veremos seus dados 'brutos', se não, veremos uma resposta assim:

Busca de cartão no nó Elasticsearch
Encontrar documento pela correspondência exata do campo Description:
Resultado:

buscar documento que contém ‘Entrada’ na Description
Resultado:

Busca de cartão pelo conteúdo do arquivo anexado
resultado:

Encontraremos todos os cartões do tipo documento:
ou todos os cartões do tipo tarefa:
Usando construções e e os parâmetros que o Elasticsearch fornece em forma de JSON, pode-se montar tal solicitação:
Isso mostrará todos os cartões do tipo tarefa, entre os usuários cujo FirstName = Konstantin, e que estão na Orël Office.
Além de LIKE há também outros parâmetros documentados:
unlike, fields, docs, content, etc.
Todos eles estão descritos .
Por hoje é tudo!
#docsvision #docsvisionECM
Links úteis:
- Cliente Rest Insomnia
Fonte: habr.com
