Skip to content

with_pg_search_highlight does not obey limit/offset #377

@haleymt

Description

@haleymt

Sorry in advance if this is already on your radar! I looked through the open issues but didn't see anything.

I was trying to use with_pg_search_highlight recently and was confused by how slow it made my queries. I expected ts_headline to make the search slower, so I paginated my results, but it didn't seem to make a difference one way or another. Eventually I realized that ts_headline was being applied to every result, rather than just the page of them. I ended up writing the SQL myself instead of using pg_search and the performance improved when using ts_headline by almost an order of magnitude.

My pg_search queries looked something like this:

Story.search_text_for("dog").limit(20).offset(0).with_pg_search_highlight

Where search_text_for was a pg_search_scope (I wasn't using multisearch if it makes a difference).

Is there a reason that you apply the highlighting to every row? Or is there a way to paginate that I just wasn't aware of?

Thanks!

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