logo

Dominando o HQL – Holmes Query Language

O HQL, Holmes Query Language, é uma notação proprietária da Plataforma Holmes que permite fazer consultas simples e avançadas em um poderoso motor de busca para grandes volumes de documentos.

O campo como chave

Uma instrução HQL é composta pelo conjunto chave:valor. A mais simples destas instruções ocorre quando a chave é o nome de um campo, previamente definido na área administrativa do Holmes, e o valor é o que se deseja procurar. Por exemplo, dado que foi definido na administração um campo denominado CNPJ, uma instrução usando HQL para buscar o por um numero específico seria: 

CNPJ:15.533.871/0001-48

Onde, CNPJ é a chave e 15.533.871/0001-48 é o valor

Também é possível utilizar o asterisco no lugar do valor indicando que qualquer valor diferente de vazio deve entrar no resultado da busca. O exemplo abaixo lista todos os documentos cujo campo CNPJ foram preenchidos no momento da classificação.

CNPJ:*

Lembrando que estas instruções buscam a informação na Classificação do Documento, ou seja, o modo que ele foi classificado/indexado ao ser adicionado na plataforma Holmes.

A Natureza como Chave

Outro conceito importante do Holmes é o conceito de Natureza, ou tipo de documento, que também é definido na área administrativa. Quando se deseja procurar por um tipo de documento específico deve-se utilizar como chave a palavra reservada _nature. Por exemplo, para procurar pela Natureza Contrato deve-se utilizar a instrução abaixo:

_nature:Contrato

Instruções Compostas

Obviamente pode-se utilizar mais de uma instrução HQL ao mesmo tempo para fazer buscas avançadas. Para pesquisar Contrato de um dado CNPJ pode-se utilizar a instrução a seguir.

_nature:Contrato CNPJ:15.533.871/0001-48

Buscas Negativas

O HQL também aceita os operadores de adição (+) e subtração(-) para permitir buscas positivas e buscas negativas. Uma busca positiva é a busca normal, ou seja, o usuário deseja listar todos os documentos que atentem um determinado critério. A instrução abaixo lista todos os documentos que foram classificados com o dado CNPJ.

+CNPJ:15.533.871/0001-48

Por outro lado, a instrução negativa é quando o usuário deseja listar tudo que não atende ao critério. O exemplo abaixo lista tudo que não foi classificado com o dado CNPJ.

-CNPJ:15.533.871/0001-48

Vale ressaltar que caso o operador não seja informado o operador positivo (+) é o padrão. 

Busca no conteúdo

O Holmes tem dois modos de busca: Busca Específica e Busca Abrangente. A busca específica é que se faz nos itens da classificação (indexação) do documento. A busca abrangente é a que se faz no conteúdo dos documentos. Por exemplo, suponha para procurar a frase “Contrato de Prestação de Serviços” a instrução seria a seguinte

_content:”Contrato de Prestação de Serviços”

Caso você deseje pesquisar não apenas no conteúdo mas em todo e qualquer lugar que o valor especificado aparecer você pode usar a instrução abaixo:

_all:”Contrato de Prestação de Serviços”

OBS: Vale lembrar que o recurso de indexar conteúdo deve estar ativado. Contacte a suporte caso ele não esteja

Busca por data

O HQL também oferecem alguns recursos avançados para as buscas envolvendo data. A premissa que este tipo de busca é que a chave da instrução seja do tipo data. Em outras palavras, se na administração for definido um campo Data de Vencimento como sendo do tipo data pode-se utilizar dos recursos avançados de busca por data. Mas se o campo for definido como sendo o tipo Texto estes recursos não estarão disponíveis. Os exemplos abaixo demonstram como utilizar os recursos avançados de busca por data, considerando como exemplo o campo Data de Vencimento previamente definida na área administrativa do Holmes.

Busca pela data específica 01/05/2018

“Data de Vencimento”:20180501

Busca pela data 01/05/2018 em diante

“Data de Vencimento”:"[20180501 TO *]" 

Busca até a data 01/05/2018

“Data de Vencimento”:”[* TO 20180501]" 

 

Outras buscas avançadas

Buscas por Data de Classificação e Upload 

Para buscar pela data da classificação do documento utiliza-se a chave _classifydate e para a data de upload utiliza-se a chave _uploaddate. Quanto ao valor da instrução pode-se utilizar uma data especifica ou o modificador “d{<numero de dias>}”. Vejam os exemplos

Busca pela data de classificação específica 01/05/2018

_classifydate: 20180501

Busca pela data de upload específica 01/05/2018

_uploaddate: 20180501

Busca pelos uploads dos últimos 10 dias

_uploaddate:"d{-10}" 

Busca pelos uploads dos próximos 10 dias

_uploaddate:”d{+10}" 

Outros tipos de chave

Lista todos os documentos visualizados por um usuário

_viewedByUser:<user>

Lista todos os documentos classificados por um usuário

_classifiedByUser:<user>

Lista todos os documentos baixados por um usuário

_downloadedByUser:<user>

Lista todos os documentos visualizados por um perfil

_viewedByProfile:<perfil>

Lista todos os documentos classificados por um perfil

_classifiedByProfile:<perfil>

Lista todos os documentos baixados por um perfil

_downloadedByProfile:<perfil>

Lista todos os documentos que tem um determinado número de páginas

_pages:<numeroDePaginas>

Lista todos o documentos de um dado ID

_document: <idDoDocumento>

Lista todos o documentos de um dado ID de versão

_documentversionid: <idDaVersao>

Lista todos os documentos que foram adicionados (upload) por um determinado usuário

_author: <user>

Lista todos os documentos com o dado nome no arquivo

_name: <nomeDoDocumento>

Saiba mais:

Fazendo buscas com a API

0 acharam interessante