Skip to content

Fix bug in search. #27

Open
Open
@FactorioBlueprints

Description

@FactorioBlueprints

The database used by factorioprints is Firebase. Firebase allows a filter clause OR an order-by clause but not both.

The old strategy was to download ALL blueprint summaries, ordered, and do the filtering client side. This worked but got slower and consumed more bandwidth over time, until it got prohibitively expensive.

The current strategy is to order-by and paginate server side and filter client side. This makes it so that there are a different number of results per page, including some pages with zero results.

I’m working on migrating from Firebase to a relational database. But this is essentially a rewrite, and it would be good to explore other strategies.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions