opensearch-project / opensearch-py

Python Client for OpenSearch
https://opensearch.org/docs/latest/clients/python/
Apache License 2.0
350 stars 175 forks source link

[FEATURE] Add support for search pipeline APIs #474

Closed noCharger closed 6 months ago

noCharger commented 1 year ago

Is your feature request related to a problem?

The search pipeline feature is GA in version 2.9.0 and we would like to get them supported.

There is an issue with border decription. https://github.com/opensearch-project/opensearch-py/issues/435

What solution would you like?

A clear and concise description of what you want to happen.

We are looking for more descriptive interface and well defined parameters for the high level pipelines APIs. The interface could be modeled the pipeline as an object with a description, id, version, and lists of processors. The processors would be objects with types, tags, descriptions and "config". The config would just be modeled as a map from string to object.

What alternatives have you considered?

A clear and concise description of any alternative solutions or features you've considered.

Without modification, search pipeline CRUD must be built using REST API. Ref: https://opensearch-project.github.io/opensearch-py/api-ref/transport.html

The client side interface of the search pipeline could be consistent with that of the ingest pipeline. Ref https://opensearch-project.github.io/opensearch-py/api-ref/clients/ingest_client.html

Do you have any additional context?

Add any other context or screenshots about the feature request here.

This is prerequisite to add benchmarks in opensearch-benchmark repo. https://github.com/opensearch-project/OpenSearch/issues/7782#issuecomment-1679371986