Skip to content

Navigation Menu

Sign in
Appearance settings
Sign up
Appearance settings

find_symbol(exact=False) does an O(N) client-side substring scan #72

Copy link
Copy link

Description

@GoodbyePlanet
Issue body actions

Impact: Medium (performance / scaling)

`server/store/qdrant.py:246-263` scrolls the entire collection in pages of 200, lowercasing and substring-matching in Python until it finds 50 matches or exhausts the collection. This reads most of the collection over the wire on every partial-name lookup and is O(N) in collection size.

Recommended change

Create a Qdrant full-text payload index (`PayloadSchemaType.TEXT`) on `symbol_name` and query it with `MatchText`.

Note: the current paging behavior is asserted by `tests/test_store.py:21`, so that test will need updating.

Reactions are currently unavailable

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

    Morty Proxy This is a proxified and sanitized view of the page, visit original site.