Skip to content

feat: add full_text_search() to CoordinodeClient and LangChain keyword_search() #22

@polaz

Description

@polaz

Feature

Add full-text search capability to the Python SDK once CoordiNode DB implements full-text search procedures.

API design

coordinode core client:

results = client.full_text_search(
    label="Entity",
    property="name",
    query="machine learning",
    top_k=10,
)
# → List[NodeResult]

langchain-coordinode adapter (CoordinodeGraph):

results = graph.keyword_search(query="machine learning", label="Entity", top_k=10)
# → List[Dict[str, Any]]

llama-index-coordinode adapter (CoordinodePropertyGraphStore):
The LlamaIndex PropertyGraphStore interface does not currently expose full-text search directly — evaluate whether to add it as a custom method or via structured_query().

Implementation notes

  • Full-text search in CoordiNode will be exposed as Cypher procedures: CALL db.index.fulltext.queryNodes(indexName, query)
  • SDK should wrap this into a typed method that hides the Cypher procedure syntax
  • hybrid_search() on the client can be upgraded to use full-text + vector as two legs of a single query

Gate

Blocked by CoordiNode DB tasks:

  • R550: Full-text index build (tantivy integration in coordinode-storage)
  • R555: Full-text Cypher procedures (db.index.fulltext.*)

Both are Phase 5.3. Do not start SDK implementation until a CoordiNode release with R550 + R555 is available.

Acceptance criteria

  • client.full_text_search() returns results for text queries
  • LangChain CoordinodeGraph.keyword_search() implemented
  • hybrid_search() upgraded to combine full-text + vector scores
  • Integration test with real CoordiNode instance
  • Documented in README and 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