Indexacao:adicionando facetas
Índice |
Adicionando facetas
//Estas indicações são baseadas no excelente documentação fornecida pelo projeto [[1]]. Abaixo está uma versão simplificada. Para obter informações mais detalhadas sobre a indexação personalizado e tradução, [| Veja a wiki Solrmarc].//
Adicionando uma faceta para a caixa de busca é um procedimento relativamente simples. Porque facetas dependem de um índice, estas instruções supõem que nós estamos começando com um dos três cenários possíveis:
1. O índice a ser utilizado já existe
2. Nenhum índice existe atualmente; os dados no registro MARC será indexado diretamente (ou seja, dados já são string de texto sem a necessidade ou desejo de normalização)
3. Nenhum índice existe atualmente; os dados são codificados e terão de ser primeiramente traduzidos em strings de texto.
Índice existente
// Exemplo usado: Adicionando a data de publicação como uma faceta //
Primeiro verifique a existência do índice e se certifique de que contém os dados que deseja. /import/marc.properties contém o mapeamento de base de campos MARC para o índice solr. Cada linha do arquivo é um único índice. O nome do índice Solr é antes do sinal de igual. Imediatamente após o sinal de igual é uma ou mais combinações do número tag MARC de três dígitos e quaisquer subcampos que são indexados juntos. Dois pontos separa diferentes áreas ou subáreas de ser indexados separadamente. Um número entre parênteses indica o byte de posição a ser indexado. "First", no final da linha significa que apenas o primeiro campo serão indexados.
No nosso exemplo, o índice publishDate é um índice personalizado não puxada diretamente de um tag MARC. A DateOfPublication rotina de indexação personalizada desde a data para o indexador, mas nós não precisamos saber como ele faz isso para continuar. Nós identificamos que o índice em questão é chamado publishDate, que é tudo o que precisamos agora.
O arquivo configuration:files:facets.ini contêm a listas de facetas a serem visualizadas. Cada linha é uma faceta, na forma:
SolrIndexName = Facet Display Name
(Em uma instalação limpa, o que inclui as duas primeiras facetas, Instituição e Biblioteca, que não podem ser necessários. Eles podem ser comentada por inserção de um ponto e vírgula no início da linha). Para adicionar a data de publicação como uma faceta, basta adicionar a seguinte linha para o arquivo:
publishDate = Publication Year
- Note-se que as facetas são exibidas em ordem; se publishDate é adicionado na parte inferior da lista, ele aparecerá na parte inferior da caixa de busca abaixo do resto.
As alterações são imediatamente refletidas na página de resultados de busca.
Se, devido a erros de digitação, etc, um índice inexistente é adicionado à lista, isso vai quebrar a caixa de busca completamente e as facetas não serão exibidas.
O índice não existe, nenhuma tradução necessários
// Exemplo: uma faceta gênero personalizado baseado nos campos gênero título e subcampos //
Se a faceta desejada já não é um índice existente, é preciso primeiro criar o índice. Isto vai exigir a re-indexação de toda a base de dados.
O arquivo /import/marc.properties mapeia campos e subcampos MARC a um índice. Para uma descrição mais detalhada do formato de arquivo do que o previsto anteriormente, veja [| a documentação SolrMarc]..
Neste exemplo, quereremos usar as strings encontradas no 655 subcampo a, e subcampo v e dados dos campos 650, 651 e 600. O índice será chamado de "allgenre". Para fazer isso, nós adicionamos a seguinte linha no arquivo marc.properties:
allgenre = 655ab:650v:600v:651v
Agora precisamos dizer ao Solr o que fazer com o novo índice. O arquivo /solr/biblio/conf/schema.xml define os campos no Solr. Na seção <fields>, adicionamos
<field name="allgenre" type="textFacet" indexed="true" stored="true" multiValued="true" termVectors="true"/>
Após o banco de dados ter sido reindexado, o índice allgenre existirá. A faceta pode ser adicionada no arquivo facets.ini como descrito acima.
Um atalho útil - Campos Dinâmicos (Dynamic Fields)
Se você está usando o VuFind 1.3 ou mais recente, você pode tirar vantagens dos campos dinâmicos do Solr para evitar de modificar seu esquema. VuFind é configurado para reconhecer certos sufixos de campos e tratá-los como novos campos sem a necessidade de definições explicitas. No exemplo acima, nós podemos de usar o nome do campo allgenre_txtF_mv em vez de allgenre no marc.properties e pular a etapa do schema.xml.
Veja development:architecture:solr_index_schema#dynamic_field_suffixes|this page]] para todos os sufixos disponíveis.