Mudanças entre as edições de "Guia de Indexação SOLR"
De IBICT
Ronniebrito (disc | contribs) (→Indexar um novo conjunto de metadados) |
Ronniebrito (disc | contribs) (→Criar uma faceta a partir de um campo texto) |
||
| (11 edições intermediárias de um usuário não apresentadas) | |||
| Linha 18: | Linha 18: | ||
<pre> xslt = ojs.xsl </pre> | <pre> xslt = ojs.xsl </pre> | ||
| + | |||
| + | 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 24: | Linha 51: | ||
</pre> | </pre> | ||
| − | e adicionar um novo | + | e adicionar um novo registro |
| − | <field name=" | + | <pre> |
| + | <field name="title_language" type="string" indexed="true" stored="true" multiValued="true"/> | ||
| + | </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 == | ||
| + | |||
| + | <pre> | ||
php import-xsl.php ../local/harvest/12/1423749202_oai_ojs_www_abhr_org_br_article_582.xml revistarSEER.properties | php import-xsl.php ../local/harvest/12/1423749202_oai_ojs_www_abhr_org_br_article_582.xml revistarSEER.properties | ||
| + | </pre> | ||
| − | + | == Importar um diretorio inteiro == | |
| + | <pre> | ||
source /etc/profile | source /etc/profile | ||
/usr/local/vufind2/harvest# ./batch-import-xsl.sh ../local/harvest/REVISTAS ../import/revistarSEER.properties | /usr/local/vufind2/harvest# ./batch-import-xsl.sh ../local/harvest/REVISTAS ../import/revistarSEER.properties | ||
| + | </pre> | ||
== Reiniciar o VUFind == | == Reiniciar o VUFind == | ||
| Linha 48: | 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
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/