mod-search

Overview

  • Description: The mod-search module for FOLIO provides search capabilities across multiple types of resources within the FOLIO Library Services Platform.

  • Key Features:

    • Supports searching for Instance and Authority records.

    • Integration with Elasticsearch/OpenSearch for advanced search capabilities.

    • Configurable indexing and search settings.

    • API endpoints for search functionalities.

    • Consortium support:

      • special endpoints to provide consolidated documents.

      • searching through consortium tenants.

Table of Contents

 

Introduction

Background

The mod-search module is an integral part of the FOLIO Library Services Platform, designed to facilitate advanced search functionalities across various resource types. It leverages Elasticsearch/OpenSearch to provide efficient and scalable search solutions.

Objectives

  • Enable robust and efficient search capabilities within the FOLIO platform.

  • Provide a flexible and configurable search solution that meets diverse library needs.

Features

Usage

API Documentation

Refer to the API documentation for detailed information on available endpoints, request parameters, and response formats.

User Guides

  • Search Requests: How to perform search requests using the API. TBD

  • Index Management: Instructions on managing indexes, including creation and deletion. TBD

Error Handling and Troubleshooting

TBD

Architecture and Design

System Architecture

The mod-search module is built on a microservices architecture and integrates with other FOLIO modules and Elasticsearch.

Diagrams: TBD

Module Design

  • Core Components: Indexing service, search service, and configuration service.

  • Technologies: Java, Spring Boot, Elasticsearch, PostgreSQL, Kafka.

Dependencies

  • FOLIO modules: Okapi, mod-inventory-storage, mod-entities-links

  • External: Elasticsearch, PostgreSQL, Kafka

Testing

Unit Tests

Unit tests are included in the src/test directory and can be run using Maven:

mvn test

System Tests

Integration tests are provided to validate interactions with other FOLIO modules and Elasticsearch.

Manual Testing

  • Perform manual searches through the API to verify functionality.

  • Validate indexing operations.

Appendices

Glossary

  • Search Engine: Elasticsearch or OpenSearch.

  • Index: A collection of documents in a search engine.

  • Document: A basic unit of information in a search engine.

References

Change Log

See the NEWS.md file in the repository for a history of changes.