Skip to content

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

@polaz

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

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