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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions