Metadata-Version: 2.4
Name: invenio-search
Version: 2.4.2
Summary: "Invenio module for information retrieval."
Home-page: https://github.com/inveniosoftware/invenio-search
Author: CERN
Author-email: info@inveniosoftware.org
License: MIT
Keywords: invenio search
Platform: any
Classifier: Development Status :: 5 - Production/Stable
Requires-Python: >=3.7
License-File: LICENSE
License-File: AUTHORS.rst
Requires-Dist: invenio-base<2.0.0,>=1.2.3
Requires-Dist: dictdiffer>=0.9.0
Provides-Extra: tests
Requires-Dist: pytest-black>=0.3.0; extra == "tests"
Requires-Dist: invenio-db[versioning]<2.0.0,>=1.0.0; extra == "tests"
Requires-Dist: mock>=1.3.0; extra == "tests"
Requires-Dist: pytest-invenio<3.0.0,>=2.0.0; extra == "tests"
Requires-Dist: Sphinx>=3; extra == "tests"
Requires-Dist: invenio-accounts<3.0.0,>=2.0.0; extra == "tests"
Provides-Extra: elasticsearch7
Requires-Dist: elasticsearch<7.14,>=7.0.0; extra == "elasticsearch7"
Requires-Dist: elasticsearch-dsl<8.0.0,>=7.0.0; extra == "elasticsearch7"
Provides-Extra: opensearch1
Requires-Dist: opensearch-py<2.0.0,>=1.1.0; extra == "opensearch1"
Requires-Dist: opensearch-dsl<2.0.0,>=1.0.0; extra == "opensearch1"
Provides-Extra: opensearch2
Requires-Dist: opensearch-py<3.0.0,>=2.0.0; extra == "opensearch2"
Requires-Dist: opensearch-dsl<3.0.0,>=2.0.0; extra == "opensearch2"
Dynamic: license-file

..
    This file is part of Invenio.
    Copyright (C) 2015-2018 CERN.

    Invenio is free software; you can redistribute it and/or modify it
    under the terms of the MIT License; see LICENSE file for more details.

================
 Invenio-Search
================

.. image:: https://img.shields.io/github/license/inveniosoftware/invenio-search.svg
        :target: https://github.com/inveniosoftware/invenio-search/blob/master/LICENSE

.. image:: https://github.com/inveniosoftware/invenio-search/workflows/CI/badge.svg
        :target: https://github.com/inveniosoftware/invenio-search/actions?query=workflow%3ACI

.. image:: https://img.shields.io/coveralls/inveniosoftware/invenio-search.svg
        :target: https://coveralls.io/r/inveniosoftware/invenio-search

.. image:: https://img.shields.io/pypi/v/invenio-search.svg
        :target: https://pypi.org/pypi/invenio-search


Search management for Invenio (for Elasticsearch and OpenSearch).

Features:

- Allows Invenio modules to register indexes, aliases and index templates.
- Manages the creation and deletion of indices, aliases and templates.
- API for providing stable searches (e.g. prevents bouncing of search results).
- Maps JSONSchema URLs to Elasticsearch/OpenSearch indexes.
- Supports Elasticsearch v7 and OpenSearch v1.

Further documentation is available at https://invenio-search.readthedocs.io/.

..
    This file is part of Invenio.
    Copyright (C) 2015-2024 CERN.

    Invenio is free software; you can redistribute it and/or modify it
    under the terms of the MIT License; see LICENSE file for more details.

Changes
=======

Version v2.4.2 (released 2025-10-28)

- fix(cli): allow compatible OSv2 client with OSv3 cluster
    * The OpenSearch v2.x client is compatible with both the OpenSearch v2
      and v3 cluster versions.

Version v2.4.1 (released 2024-08-07)

- fix: avoid closing db session

Version v2.4.0 (released 2024-08-02)

- cli: add "--check/--no-check" flag for mapping updates
- ext: report attempted mappings update on failure (#224)

Version 2.3.1 (released 2024-03-04)

- search: The component_templates do not need to specify the SEARCH_INDEX_PREFIX

Version 2.3.0 (released 2024-02-26)

- search: Add options for component_templates and index_templates

Version 2.2.1 (released 2024-02-19)

- ext: fix update mapping comparison

Version 2.2.0 (released 2023-04-06)

- cli: adds interface for updating mappings

Version 2.1.0 (released 2022-10-03)

- Adds support for OpenSearch v2

Version 2.0.0 (released 2022-09-22)

- Removes Elasticsearch < v7
- Adds support for OpenSearch v1

Version 1.4.2 (released 2021-07-20)

- Pin elasticsearch to lower than 7.14 due to built in product check.

Version 1.4.1 (released 2020-10-19)

- Fix bouncing search results for BaseRecordSearchV2.

Version 1.4.0 (released 2020-09-18)

- Adds new search class that can be initialised only from arguments to the
  constructor.

Version 1.3.1 (released 2020-05-07)

- Set Sphinx ``<3.0.0`` because of errors related to application context.
- Stop using example app, keep only files referenced in the docs.

Version 1.3.0 (released 2020-03-10)

- Centralize dependency management via Invenio-Base.

Version 1.2.4 (released 2020-05-07)

- Set Sphinx ``<3.0.0`` because of errors related to application context.
- Stop using example app, keep only files referenced in the docs.

Version 1.2.3 (released 2019-10-07)

- Changes the naming strategy for templates to avoid inclusion of slashes ("/")

Version 1.2.2 (released 2019-08-08)

- Adds option ignore_existing which is ignoring indexes which are already in ES.
- Adds option to create/delete only selected indexes.

Version 1.2.1 (released 2019-07-31)

- Unpins ``urllib3`` and ``idna`` since ``requests`` is not a direct dependency
  of the package now.

Version 1.2.0 (released 2019-07-29)

- Adds full Elasticsearch v7 support
- Better prefixing integration
- Introduces index suffixes and write aliases
- Refactored the way indices and aliases are stored and created
- ``invenio_search.utils.schema_to_index`` is deprecated (moved to
  ``invenio-indexer``)
- Deprecates Elasticsearch v5

Version 1.1.1 (released 2019-06-25)

- Fixes prefixing for whitelisted aliases and the RecordSearch class.
- Adds basic Elasticsearch v7 support.

Version 1.1.0 (released 2019-02-25)

- Deprecates Elasticsearch v2
- Adds support for Elasticsearch indices prefix

Version 1.0.2 (released 2018-10-23)

- Updates the urllib3 dependency version pin.
- Pins elasticsearch-dsl to <6.2.0, because of a breaking change in the
  handling of empty queries.
- Adds the SEARCH_CLIENT_CONFIG configuration variable, allowing more complex
  configuration to be passed to the Elasticsearch client initialization.

Version 1.0.1 (released 2018-06-13)

- Fixes issues with idna/urllib3 dependencies conflicts.
- Adds SEARCH_RESULTS_MIN_SCORE configuration variable to allow excluding
  search results which have a score less than the specified value.

Version 1.0.0 (released 2018-03-23)

- Initial public release.
