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) |
||
(10 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 | + | 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 50: | 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/