Mudanças entre as edições de "Guia de Indexação SOLR"

De IBICT
Ir para: navegação, pesquisa
(Adicionar um novo campo ao schema do SOLR)
(Criar uma faceta a partir de um campo texto)
 
(9 edições intermediárias de um usuário não apresentadas)
Linha 20: Linha 20:
  
 
Criar o arquivo .xsl
 
Criar o arquivo .xsl
 +
 +
== Adicionar transformação de metadado ==
 +
 +
<pre>
 +
/usr/local/vufind2/import/xsl$ pico revistasSEER.xsl
 +
</pre>
 +
 +
por exemplo, atribuir ao campo SOLR title_language o valor do campo dc:language
 +
 +
<pre>
 +
    <!-- TITLE_LANGUAGE -->
 +
                <xsl:if test="//dc:title/@xml:lang" >
 +
                        <xsl:if test="string-length() > 0">
 +
                            <field name="title_language">
 +
                                <xsl:value-of select="concat(
 +
                                php:function('VuFind::mapString', normalize-space(string(//dc:title[1]/@xml:lang)), 'language_map_iso639-1.properties'),'|',
 +
                                php:function('VuFind::mapString', normalize-space(string(//dc:title[2]/@xml:lang)), 'language_map_iso639-1.properties'),'|',
 +
                                php:function('VuFind::mapString', normalize-space(string(//dc:title[3]/@xml:lang)), 'language_map_iso639-1.properties'),'|',
 +
                                php:function('VuFind::mapString', normalize-space(string(//dc:title[4]/@xml:lang)), 'language_map_iso639-1.properties'))" />
 +
                            </field>
 +
                        </xsl:if>
 +
                </xsl:if>
 +
 +
 +
</pre>
  
 
== Adicionar um novo campo ao schema do SOLR ==
 
== Adicionar um novo campo ao schema do SOLR ==
Linha 26: Linha 51:
 
</pre>
 
</pre>
  
e adicionar um novo  mapeamento
+
e adicionar um novo  registro
  
 
<pre>
 
<pre>
<field name="language_title" type="string" indexed="true" stored="true" multiValued="true"/>
+
<field name="title_language" type="string" indexed="true" stored="true" multiValued="true"/>
 
</pre>
 
</pre>
 +
 +
==Criar uma faceta a partir de um campo texto ==
 +
 +
Adicionar ao schema um campo  do tipo "textFacet"
 +
 +
<pre>
 +
<field name="title_languageStr" type="textFacet" indexed="true" stored="false"/>
 +
</pre>
 +
 +
Copiar o arquivo facets.ini para a pasta
 +
 +
<pre>
 +
/usr/local/vufind2/config/vufind# cp facets.ini ../../local/config/vufind/
 +
</pre>
 +
 +
Editar o arquivo e adicionar a diretiva
 +
 +
title_languageStr    = "Idioma Titulo"
 +
 +
Em seguida limpar o cache do template Zend, apagando o conteudo das pastas em /usr/local/vufind2/local/cache
  
 
== Importar os registros individuais ==
 
== Importar os registros individuais ==
Linha 55: Linha 100:
 
== Reiniciar a base do SOLR ==
 
== Reiniciar a base do SOLR ==
  
 +
<pre>
 
/usr/local/vufind2/solr/biblio# rm -R index/
 
/usr/local/vufind2/solr/biblio# rm -R index/
 +
</pre>

Edição atual tal como às 11h45min de 8 de maio de 2015


Índice

Apagar todo o índice

./vufind.sh stop
sudo rm -rf solr/biblio/index solr/biblio/spell*
./vufind.sh start

Indexar um novo conjunto de metadados

Criar um arquivo .properties

/usr/local/vufind2/import# cp ojs.properties revistarSEER.properties 

Definir a diretriz xslt no arquivo .properties indicando o arquivo que contém com as tranformações de metadados necessárias

 xslt = ojs.xsl 

Criar o arquivo .xsl

Adicionar transformação de metadado

/usr/local/vufind2/import/xsl$ pico revistasSEER.xsl

por exemplo, atribuir ao campo SOLR title_language o valor do campo dc:language

    <!-- TITLE_LANGUAGE -->
                <xsl:if test="//dc:title/@xml:lang" >
                        <xsl:if test="string-length() > 0">
                            <field name="title_language">
                                <xsl:value-of select="concat(
                                 php:function('VuFind::mapString', normalize-space(string(//dc:title[1]/@xml:lang)), 'language_map_iso639-1.properties'),'|',
                                 php:function('VuFind::mapString', normalize-space(string(//dc:title[2]/@xml:lang)), 'language_map_iso639-1.properties'),'|',
                                 php:function('VuFind::mapString', normalize-space(string(//dc:title[3]/@xml:lang)), 'language_map_iso639-1.properties'),'|',
                                 php:function('VuFind::mapString', normalize-space(string(//dc:title[4]/@xml:lang)), 'language_map_iso639-1.properties'))" />
                            </field>
                        </xsl:if>
                </xsl:if>


Adicionar um novo campo ao schema do SOLR

/usr/local/vufind2/solr/biblio/conf# vi schema.xml

e adicionar um novo registro

<field name="title_language" type="string" indexed="true" stored="true" multiValued="true"/>

Criar uma faceta a partir de um campo texto

Adicionar ao schema um campo do tipo "textFacet"

<field name="title_languageStr" type="textFacet" indexed="true" stored="false"/>

Copiar o arquivo facets.ini para a pasta

/usr/local/vufind2/config/vufind# cp facets.ini ../../local/config/vufind/

Editar o arquivo e adicionar a diretiva

title_languageStr = "Idioma Titulo"

Em seguida limpar o cache do template Zend, apagando o conteudo das pastas em /usr/local/vufind2/local/cache

Importar os registros individuais

php import-xsl.php ../local/harvest/12/1423749202_oai_ojs_www_abhr_org_br_article_582.xml revistarSEER.properties

Importar um diretorio inteiro

source /etc/profile 
/usr/local/vufind2/harvest# ./batch-import-xsl.sh ../local/harvest/REVISTAS ../import/revistarSEER.properties

Reiniciar o VUFind

Isso recarregar os novos metadados

./vufind.sh restart

http://labcoat.ibict.br:8080/solr/#/

Reiniciar a base do SOLR

 
/usr/local/vufind2/solr/biblio# rm -R index/