Skip to content

G2: No keyword/BM25 fulltext search — searchSimilar not available as standalone #667

Description

G2: No keyword/BM25 fulltext search — searchSimilar not available as standalone

Gap Description

The crate offers vector search only for edges, not nodes. There is no standalone searchSimilar or text-index method for memory-like nodes.

Evidence

  • searchHyperedges exists and returns edge vector matches (not node matches).
  • Cypher query/ querySync supports node retrieval but has no WHERE clause, no property filter, no vector in Cypher.
  • Node-level vector search is not exposed as a top-level API.

Use Case (Allura's hybrid search)

Allura's memory_search uses a two-pass RRF fusion:

  1. Vector pass: ruvector_cosine_distance() ANN
  2. Text pass: pgvector ts_rank on content_tsv
  3. Fusion: score = 1/(60+rank_v) + 1/(60+rank_t)

Proposed Fixes

Option A — Recommend Cypher-based workaround (short term)

Allura's searchMemories routes through adapter-side filtering (O(n) scan).

Option B — Add text index + searchSimilar (preferred long term)

Add a text index on node properties and a top-level search_nodes(embedding, keyword, k) method.

Can Allura contribute a PR?

Yes — Allura can add hybrid search with BM25 fusion.


Author: Brooks (Allura architect), Date: 2026-07-12

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions