Skip to content

GraphQL models, resolvers, mutators and OpenSearch connector for re3data #591

@sfisher

Description

@sfisher

re3dataSearch resolver

parameters

  • limit to subjectArea

  • limit to repository type

  • search terms

  • Needs to be able to do paging (page number, current page, whatever the standard pattern we have for paging in graphQL)

Mutators

addRe3dataDoc -- this should take the standard re3data document we have defined in schema/ZOD (should be very much what we have in OpenSearch). It would upsert it (insert or update the current document with the same id)

removeRe3dataDoc -- remove the id from re3Data list.

connecting to opensearch

Is there an existing way that we're doing this through GraphQL? Seems like we should follow that pattern. Otherwise, I'm seeing libraries like "Searchkit" or I'm sure there is an OpenSearch library for Javascript that can be used inside resolvers.

Models

Do we really need to have models that model the search results? Perhaps we don't need models since OpenSearch already presents a model and I doubt we'll be doing granular changing of one field in an Opensearch record? Do we really need whatever caching? I assume that searches will be used the most and OpenSearch will be fast.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions