Skip to content

[Merge Pending] Allow passing query between egress filter and filter gateway.#2097

Open
kevindiu wants to merge 77 commits intomainfrom
feature/egress-gateway/add-egress-query
Open

[Merge Pending] Allow passing query between egress filter and filter gateway.#2097
kevindiu wants to merge 77 commits intomainfrom
feature/egress-gateway/add-egress-query

Conversation

@kevindiu
Copy link
Contributor

@kevindiu kevindiu commented Jun 29, 2023

Description:

This PR updated the following changes:

  • Allow passing query to egress filter through FilterDistance and FilterVector API
    • See apis/proto/v1/filter/egress/egress_filter.proto
  • Update Search APIs to allow filter searching result using query
    • For the logic, see pkg/gateway/filter/handler/grpc/handler.go
  • Updated existing Insert, Update, Upsert, GetObject API to allow filter object before corresponding operation
    • Updated to allow passing different query through multiple filtering target
  • Add example code, including example egress filter implementation, and example client code to connect to filter gateway using query filter feature.
    • See example/client/gateway/filter/README.md
  • Update related document about above changes.

Related Issue:

Versions:

  • Go Version: 1.20.3
  • Docker Version: 23.0.5
  • Kubernetes Version: 1.27.1
  • NGT Version: 2.0.9

Checklist:

Special notes for your reviewer:

You can check the behavior after this modification by reading the example/client/gateway/filter/README.md .

You may also need to edit the below file to enable filter gateway and setting the image tag to validate the implementation.

vim example/helm/values.yaml

gateway:
  filter:
    enabled: true
    image:
      tag: pr-2097

Please do not merge this PR, unless the target merge branch is updated.

Summary by CodeRabbit

  • New Features

    • Added support for new filter payload types: DistanceRequest, DistanceResponse, Query, VectorRequest, and VectorResponse.
    • Introduced query fields in filter configurations for enhanced filtering capabilities.
    • Implemented new methods for filtering distances and vectors.
    • Enhanced search functionality to support multiple ingress and egress filters.
    • Added aggregation algorithm options in search configurations.
  • Documentation

    • Updated API documentation to reflect new filter payload types and query fields.
    • Enhanced user guides with new filter configuration options and examples, including details on ingress and egress filters.

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants