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: