Skip to content

Add full text search

Currently there's no way to perform a full-text search.

It should be relatively straightforward to do this for a set of fields that commonly support this; such as title and description.

Proposals

Introduce a new operator

For example:

  • title contains "Roadmap improvements"
  • title =~ "Roadmap improvements"

Pros

  • Easy

Cons

  • Verbose and laborious if the user has to repeat the statement multiple times to search >1 field
    • title contains "Roadmap improvements" and description contains "Roadmap improvements"
    • (Though until OR is supported this is unlikely anyway)
Add a new operator and support token lists

For example:

  • (title, description) like "Roadmap improvements"

Pros

Cons

Overload the in operator**

For example:

  • "Roadmap improvements" in (title, description)

Pros

  • Supports multiple fields out of the box
  • Concise

Cons

  • Flips the usual attribute operator value pattern, adding complexity to the language.
  • Requires a parser update, which is risky and difficult.
Support multiple attributes (with sane defaults)

For example:

  • search = "Roadmap Improvements" and searchIn = (title, description)

Pros

  • Closest to most API implementations

Cons

  • First token with two words
  • More verbose and complex. Requires more knowledge on the part of the user.
Add a new function

For example:

  • search = "Roadmap Improvements"
  • search = searchIn("Roadmap Improvements", (title, description))

Pros

  • Relatively concise
  • Complexity increases with requirements for more control
  • Components already exist (statement parsing, = operator, functions)

Cons

  • Requires completing #34 (closed) and/or expanding values within functions

Requirements

  • Implement support for escaped strings also, as titles and descriptions are likely to include quotation marks that may be interpreted as string terminators.
Edited by John Hope