Skip to content

MATCH ... AGAINST (MySQL FULLTEXT) unsupported by the embedded engine #3

Description

@luthermonson

On the plugin-heavy showcase, some search paths emit a MySQL FULLTEXT search that the embedded engine cannot execute:

SELECT wp_posts.*, MATCH (wp_posts.post_title, wp_posts.post_content) AGAINST ('<terms>') AS score
FROM wp_posts ...

litewire/Turso: SQLite error: near (: syntax error — SQLite has no MATCH ... AGAINST FULLTEXT operator; full-text search is a separate FTS5 virtual-table feature with different syntax.

This is not rewritable as a simple string transform in db-wordpress: a faithful translation needs a parallel FTS5 virtual table kept in sync with wp_posts, which is a much larger feature (and arguably belongs in litewire or an optional drop-in module). A cheap degradation would be to rewrite MATCH(...) AGAINST('x') to a LIKE predicate, but that changes ranking/semantics and only helps the WHERE-clause form (not the AS score select-list form seen here).

Impact: non-fatal. The affected relevance-search feature degrades; normal WordPress search (LIKE-based) and browsing are unaffected.

Filing to track. A MATCH ... AGAINST -> LIKE best-effort rewrite could be considered if a real plugin path depends on it.

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