Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make engine top level field mapping parameter #2534

Open
jmazanec15 opened this issue Feb 18, 2025 · 0 comments
Open

Make engine top level field mapping parameter #2534

jmazanec15 opened this issue Feb 18, 2025 · 0 comments

Comments

@jmazanec15
Copy link
Member

Description

Currently, the engine is included in the method subsection of the knn_vector mapping:

{
  "mappings": {
    "properties": {
      "my_vector": {
        "type": "knn_vector",
        "dimension": 4,
        "method": {
          "name": "hnsw",
          "engine": "faiss",
          "parameters": {}
        }
      }
    }
  }
}

The reasoning for this was to include ann index structure details in the method definition.

However, Im wondering if we should make engine a top-level mapping parameter, as we did with the space_type a couple releases ago:

{
  "mappings": {
    "properties": {
      "my_vector": {
        "type": "knn_vector",
        "dimension": 4,
        "engine": "faiss",
        "method": {
          "name": "hnsw",
          "parameters": {}
        }
      }
    }
  }
}

This will simplify the handling of the method and its parameters, so that it just includes the algorithm and its parameters. This will also make it much easier to add an engine extension point as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant