Skip to content

feat: add text_search() and hybrid_text_vector_search() to CoordinodeClient #22

Description

@polaz

Feature

Add full-text search capability to the Python SDK.

API design

coordinode core client:

# Full-text BM25 search
results = client.text_search(label="Article", query="machine learning", limit=10)
# → List[TextResult]

# Hybrid BM25 + cosine vector search (RRF fusion)
results = client.hybrid_text_vector_search(
    label="Article",
    text_query="machine learning",
    vector=[0.1, 0.2, ...],
    limit=10,
)
# → List[HybridResult]

Prerequisites:

  • A full-text index must exist on the target label before searching.
    Create one with client.create_text_index(name, label, properties) or
    a CREATE TEXT INDEX Cypher statement.

langchain-coordinode adapter (CoordinodeGraph):

  • keyword_search() — to be added in a follow-up

llama-index-coordinode adapter (CoordinodePropertyGraphStore):

  • Evaluate whether to expose as a custom method or via structured_query()

Acceptance criteria

  • client.text_search() returns results for text queries
  • client.hybrid_text_vector_search() combines full-text + vector scores
  • client.create_text_index() / drop_text_index() manage indexes
  • LangChain CoordinodeGraph.keyword_search() implemented
  • Integration tests with real CoordiNode instance
  • Documented in API reference

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions