Como eu realizo uma busca avançada?

A ferramenta de busca é conduzida por um índice que contém vários subíndices. Ao usar a ferramenta para busca básica, apenas 2 desses índices são usados: o índice de contexto e o índice de conteúdo. O índice de conteúdo contém um índice de texto completo armazenado e referenciado de um formulário eleborado do conteúdo. Isso significa que um documento do Word enviado para Repositório terá todo o seu texto extraído e indexado, enquanto que um pacote de vídeo pode ter apenas os metadados indexados. Quando os resultados da busca são retornados, é esse conteúdo que é mostrado com os termos correspondentes em destaque.

O índice de contexto fornece um índice da palavra-chave da fonte do conteúdo e o site ou curso que contém o conteúdo. Quando a ferramenta de busca realiza uma busca básica, ela adiciona um termo de busca  + content: <currentsiteid> onde <currentsiteid> é o contexto ou identificador do site onde a pesquisa está sendo realizada. Isso pode ser traduzido como "resultados que devem vir do site atual".

Você pode procurar por termos dentro de qualquer índice. Por exemplo, para pesquisar apenas em avisos, você pode usar termos de busca +tool:announcement +content:primavera, que só retornará avisos que contenham a palavra primavera.

O índice contém atualmente os seguintes índices nomeados.

  • content: um índice simbolico, armazenado do conteúdo digerido dos documentos de busca
  • context: O índice da palavra-chave armazenado do contexto de origem do documento de busca.
  • tool: O índice da palavra-chave armazenado do nome da ferramenta do documento de busca.
  • title: Um índice referenciado do título armazenado do documento de busca.
  • reference: O índice da palavra-chave armazenado da referência da Entidade do Sakai.

Ir para Busca

Selecione a ferramenta de Busca no Menu de Ferramentas no seu site.

Opções Avançadas de Busca

Use as informações de busca abaixo para digitar as sequências de caracteres na na caixa de busca avançada.

Busca de Informação com Lucene

O Mecanismo de Consulta é baseado no Apache Lucene. Para completar a documentação do Mecanismo de Consulta do Apache está incluso abaixo. Mais informações podem ser encontradas em

http://lucene.apache.org/core/5_0_0/queryparser/org/apache/lucene/queryparser/classic/package-summary.html#package_description

Termos

Uma consulta é dividida em termos e operadores. Existem dois tipos de termos: Termos Individuais e Frases.

Um Termo Individual é uma única palavra como "teste" ou "olá".

A frase é um grupo de palavras entre aspas duplas, como "olá ivone".

Termos múltiplos podem ser combinados em conjunto com os operadores Booleanos para formar uma consulta mais complexa (ver mais abaixo).

Nota: O analisador usado para criar o índice será usado nos termos e frases na consulta a cadeia de caracteres. Por isso, é importante escolher um analisador que não irá interferir com os termos utilizados na consulta de cadeia de caracteres .

Campos

Lucene suporta dados de campo. Ao realizar uma busca, você pode especificar um campo ou usar o campo padrão. O campo de nomes e o campo padrão são específicos na implementação.

Você pode buscar qualquer campo, digitando o nome do campo seguido de dois pontos ":" e, em seguida, o termo que você está procurando.

Como exemplo, vamos supor que um índice Lucene contém dois campos, title e text onde text é o campo padrão. Se você quiser encontrar o documento intitulado "O Caminho Certo", que contém o texto "não ir por este caminho", você pode digitar:

title:"O caminho certo" AND  text:ir

ou

title:"Faça o certo" AND certo

Desde que text é o campo padrão, o indicador de campo não é obrigatório.

Nota: O campo só é válido pelo termo que precede diretamente, portanto a consulta:

title: Faça o certo

só vai encontrar "Faça" no campo de título. Ele vai encontrar "o" e "certo" no campo padrão (neste caso, no campo de texto).

Termos modificadores

Lucene suporta termos modificandores na consulta para fornecer uma ampla gama de opções de busca.

Buscas por caracteres curinga

Lucene suporta buscas com caracteres curinga simples e múltiplos.

Para realizar uma busca com caracter curinga único use o símbolo "?" .

Para realizar uma busca com caracter múltiplo curinga use o símbolo "*".

A busca de caractere curinga simples é a busca por termos que correspondam ao caráter único substituído. Por exemplo, para procurar "texto" ou "teste" você pode usar a busca:

te?te

Múltiplas buscas de caracteres curinga busca por zero ou mais caracteres. Por exemplo, para buscar teste, testes ou testador, você pode usar a busca:

test*

Você também pode usar as buscas curinga no meio de um termo.

te*te

Nota: Você não pode usar o símbolo * ou ? como o primeiro caractere de uma busca.

Busca Fuzzy

Lucene suporta buscas difusas baseadas na Distância de Levenshtein ou algoritmo de Edição de Distância. Para fazer um uso da busca fuzzy use o símbolo til, "~",  no final de um termo de palavra única. Por exemplo, para buscar um termo semelhante a palavra "viajar" use a busca fuzzy:

viaja~

Essa busca vai encontrar expressões como viajando.

Comece com Lucene 1.9 com um parâmetro adicional (opcional) que pode especificar a semelhança necessária. O valor é entre 0 e 1, com um valor mais próximo de 1 apenas em termos com maior similaridade. Por exemplo:

viaja~0.8

O padrão que é usado, se o parâmetro não é informado, é de 0.5.

 

Buscas por Proximidade

Lucene suporta encontrar palavras que estão dentro de uma distância espefíca. Para fazer uma busca por proximidade, use o símbolo til, "~", no final de uma frase. Por exemplo, para procurar "apache" e "Jakarta" dentro de 10 palavras de cada uma em um documento utilize a busca:

"apache Jacarta"~10

Busca por Intervalo

Consultas por Intervalo permitem combinar documentos cujo campos de valores estão entre o limite inferior e superior especificado pelo intervalo da Busca por Intervalo. As consultas podem ser inclusiva ou exclusiva dos limites superiores e inferiores. A ordenação é feita lexicograficamente.

mod_date:[20020101 TO 20030101]

Isso irá  encontrar documentos cujos campos mod_date têm valores entre 20020101 e 20030101, inclusive. Observe que as Consultas por Intervalo não são reservadas para campos de data. Você também pode usar consultas de intervalo com campos não-data:

title: {Aida TO Carmen}

Isso irá encontrar todos os documentos cujos títulos estão entre Aida e Carmen, mas não incluindo Aida e Carmen.

Consultas por Intervalo inclusivo são indicadas por colchetes. Consultas exclusiva por intervalo são indicadas por chaves.

Impulsionando um Termo

Lucene fornece o nível de relevância dos documentos com base nos termos correspondentes encontrados. Para impulsionar a utilização do termo, o símbolo de acento circunflexo "^", com um fator de impulso (um número), deve ser udado no final do termo que você está buscando. Quanto maior for o fator de impulso, mais relevante o termo será.

Impulsionar permite que você controle a relevância de um documento, aumentando seu termo. Por exemplo, se você estiver procurando por

jakarta apache

e você deseja que o termo "jakarta" seja impulsionado com mais relevância, use o símbolo ^ juntamente com o fator de impulso ao lado do termo. Você deve digitar:

jakarta^4 apache

Isso fará com que os documentos com o termo jakarta apareçam com mais relevância. Você também pode aumentar os Termos de Frase como no exemplo:

"apache Jacarta" ^ 4 "Apache Lucene"

Por padrão, o fator de impulso é 1. Embora o fator de impulso deve ser positivo, ele pode ser inferior a 1 (por exemplo 0,2)

Operadores booleanos

Os operadores booleanos permitem que termos sejam combinados através de operadores lógicos. Lucene suporta AND, "+", OR, NOT e "-" como operadores booleanos (Nota: os operadores booleanos devem ser todos em CAIXA ALTA).

OR

O operador OR é o operador de conjunção padrão. Isto significa que se não houver nenhum operador booleano entre dois termos, o operador OR é usado. O operador OR liga dois termos e encontra em um documento correspondente, se qualquer um dos termos existir num documento. Isso é equivalente a uma união entre conjuntos. O símbolo || pode ser usado no lugar da palavra OR.

Para procurar documentos que contenham qualquer "jakarta apache" ou simplesmente "Jakarta" use a consulta:

"jakarta apache" jakarta

ou

"jakarta apache" OR jakarta

AND

O operador AND combina documentos em que ambos os termos existem em qualquer parte do texto de um documento único. Isso é equivalente a uma interseção usando conjuntos. O símbolo && pode ser usado no lugar da palavra AND.

Para buscar documentos que contenham "jakarta apache" e "Apache Lucene" use a consulta:

"jakarta apache" AND "Apache Lucene"

+

O "+", ou o operador exigido, requer que o termo após o símbolo "+" exista em algum lugar em um  campo de um único documento.

Para buscar documentos que devem conter "Jakarta" e podem conter "lucene" use a consulta:

+jakarta apache

NOT

O operador NOT exclui documentos que contenham o termo depois do operador NOT. Isso é equivalente a uma diferença usando conjuntos. O símbolo ! pode ser utilizado no lugar do operador NOT.

Para buscar documentos que contenham "jakarta apache", mas não "Apache Lucene" use a consulta:

"apache Jacarta" NOT "Apache Lucene"

Nota: O operador NOT não pode ser usado com apenas um termo. Por exemplo, a seguinte pesquisa retornará nenhum resultado:

NOT "jakarta apache"

-

O operador "-", ou proibir, exclui os documentos que contenham o termo após o símbolo "-".

Para buscar documentos que contenham "jakarta apache", mas não "Apache Lucene" use a consulta:

"jakarta apache" -"Apache Lucene"

Agrupamento

Lucene suporta o uso de parênteses para agrupar cláusulas para formar subconsultas. Isso pode ser muito útil se você deseja controlar a lógica booleana para uma consulta.

Para buscar tanto "jakarta" ou "apache" e "website" use a consulta:

(Jacarta OR Apache) AND site

Isso elimina qualquer confusão e exige que site exista, e tanto o termo Jacarta ou apache pode existir.

Campo por Agrupamento

Lucene suporta o uso de parênteses para agrupar várias cláusulas de um único campo.

Para buscar um título que contém a palavra "retorno" e a frase "pantera cor de rosa" use a consulta:

title:(+retorno +"pantera cor de rosa")

Caracteres Escape Especiais

Lucene suporta caracteres especiais na sintaxe de consulta. A lista atual de caracteres especiais são

+ - && || ! ( ) { } [ ] ^ " ~ * ? : \

Para utilizar um desses caracteres acrescente \ antes do caractere. Por exemplo, para procurar (1 + 1): 2 use a consulta:

\(1\+1\)\:2