scieloorg / search-journals

iAHx Search Interface for SciELO
http://search.scielo.org
BSD 2-Clause "Simplified" License
3 stars 13 forks source link

Adiciona as referências na pesquisa integrado do search.scielo.org #498

Closed rafaelpezzuto closed 4 years ago

rafaelpezzuto commented 4 years ago

O que esse PR faz?

Adiciona no search-journals a busca por referências citadas. Trata-se de permitir buscar pelos campos de autor, periódico (ou livro ou capítulo de livro), entre outros, existentes na lista de referências de cada documento da rede SciELO. A maior mudança é no contexto de busca, que passa a enxergar 22 milhões de registros Solr. Esses registros se dividem em artigos e citações.

Onde a revisão poderia começar?

Um ponto de partida para entender essa nova funcionalidade é ler as estórias utilizadas como base para essa implementação. Após, sugiro:

  1. Revisar commits relacionados ao índice Solr solr/5.5.5/cores/articles/confsolr/cores/articles/conf/managed-schema solr/5.5.5/cores/articles/confsolr/cores/articles/conf/solrconfig.xml
  2. Revisar commits relacionados ao atualizador de índices proc/updatesearch/
  3. Revisar commits relacionados à interface gráfica (exceto exportadores) iahx/template/custom/
  4. Revisar commits relacionados ao exportador de resultados iahx/template/custom/export-*

Como este poderia ser testado manualmente?

Sugiro a criação de uma instância local. Para isso, é necessário:

  1. Build de ambiente
  2. Montar virtualenv de processador de índices (pasta proc/)
  3. Instalar dependências
  4. Baixar dados de normalização de exemplo
  5. Povoar Solr com coleção de exemplo (Uruguai): python updatesearch.py -c ury --url http://localhost:8983/solr/articles -m external_metadata_ury.json.zip;
  6. Acessar busca e testar todos os índices (inclusive com mais de um campo, ao mesmo tempo)
  7. Selecionar clusters (tipo de resultado, tipo de referência citada, entre outros)
  8. Acessar campo "Mais informações" em resultados do tipo citação a artigo
  9. Exportar lista de resultados usando todos os exportadores (RIS, BibTeX, CSV, Citação)

Algum cenário de contexto que queira dar?

A lista de referências de todos os artigos SciELO contém campos com resultados incompletos e sem padrão de preenchimento. Foi preciso adotar uma série de medidas para exibir, da melhor forma possível, uma lista de resultados o mais correta possível. Isso foi implementando tanto em nível de indexador, quanto em nível de interface. No indexador, há campos relacionados ao controle de qualidade da citação. E esses campos podem ser usados, por exemplo, para impedir que a citação seja visível (se estiver incompleta ou com caracteres inválidos).

Screenshots

Resultados do tipo citação image

Painel de mais informações (de uma citação a artigo) image

Cluster de tipo de resultado image

Quais são tickets relevantes?

499

Referências

Estórias de busca

Informações extras

  1. Esquema Solr Os principais campos relacionados às referências citadas foram adicionados no esquema Solr. Cada documento XML Solr contém os metadados principais dos artigos e também os metadados existentes na lista de referências citadas. Nesse esquema Solr um artigo da rede SciELO é representado por um campo chamado 'entity' povoado com o valor 'document'. Uma citação é representada nesse mesmo campo com o valor 'citation'. Um 'document' contém as chaves estrangeiras de suas respectivas citações realizadas. E um 'citation' contém a chave estrangeira para o 'document' que o citou. Outro campos são inseridos tanto do lado da entidade 'document' quanto do lado da entidade 'citation'. Isso foi necessário para possibilitar atender às estórias relatadas (e tomadas como base) no documento Estórias - e também para manter a busca o mais simples possível. Foram considerados, nesta versão, apenas citações a artigos e livros.

  2. Indexador de documentos O atualizador de índices foi modficado para indexar, junto a cada documento da rede SciELO, tanto os dados do elemento xylose.scielodocument.Article quanto os dados do elemento xylose.scielodocument.Citation. Além disso, são carregados arquivos de normalização de dados - um conjunto de metadados extras que normalizam os periódicos citados. Por normalizar entenda-se "atribuir um ISSN e um título correto" a uma referência citada. Nesses dados de normalização estão incluídos metadados CrossRef e JSONs criados no contexto do projeto Cited References. Cabe ressaltar que esses metadados normalizados estão em fase experimental/inicial e serão alvo de PR próprio, no futuro.

  3. Interface gráfica Foram criados templates para exibir os resultados do tipo citação a artigo e a livro (ou a capítulo de livro). No combobox de escolha de índíces foram adicionados dois novos elementos: autor citado e periódico citado. Os outros itens do combobox buscam em um contexto mais amplo (isto é, considera tanto os registros 'document' quanto os 'citation').

  4. Exportador de resultados Foram criados exportadores de resultados do tipo citação de modo a manter a saída RIS e BibTeX compatíveis com "Reference Managers". Outros dois exportadores, CSV e Citação, também foram criados para resultados do tipo citação.

jamilatta commented 4 years ago

@rafaelpezzuto validando esse PR.

jamilatta commented 4 years ago

@rafaelpezzuto

Assim como conversamos outro dia é necessário que as alterações referentes ao processamento seja realizado no repositório: https://github.com/scieloorg/search-journals-proc

Atualmente estamos com várias instância desse processamento apontando para o repositório mencionado.

Suspeito que as alterações sejam mínimas, pois, os repos são quase que uma duplicidade.