Skip to content

Reposition query handlers #500

Open
3 of 4 issues completed
Open
Task
3 of 4 issues completed
@badmonster0

Description

@badmonster0

CocoIndex, as a framework focusing on indexing / preparing data to be used for queries, also provides light query handlers (example) for pragmatic reasons.
The current query handler in cocoindex serves a mixed of purpose:

  1. Provide a shortcut to build examples of querying indexes built by CocoIndex.
  2. Reuse part of the logic between indexing and query (e.g. compute indexing).
  3. Provide an interface for tools like CocoInsight to query the index, for evaluation / debugging purpose.

However, CocoIndex is not limited to a single storage target - besides Postgres, it started to supports Qdrant and Neo4j, and is going to support more and more. Different targets have quite different capabilities regarding query. This approach is not going to scale well.

From now on, we want to encourage users to directly query the target storage using existing solutions in the eco-system (db drivers, ORM, etc.) which is usually not difficult, which provides maximum flexibility. We'll provide bridges for purpose of 2 and 3, allowing users to directly invoke part of the flow logic, and expose custom query functions.

Sub-issues

Metadata

Metadata

Assignees

Labels

Type

Projects

Status

🚀 In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions