Skip to main content
Version: 1.2.x

Search functions

Search functions

These functions are used in conjunction with the 'matches' operator to either collect the relevance score or highlight the searched keywords within the content.

FunctionDescription
search::score()Returns the relevance score
search::highlight()Highlights the matching keywords
search::offsets()Returns the position of the matching keywords

search::score

The search::score returns the relevance score corresponding to the given 'matches' predicate reference numbers.

API DEFINITION
search::score(number) -> number

The following example shows this function, and its output, when used in a RETURN statement:

SELECT id, title, search::score(1) AS score FROM book
WHERE title @1@ 'rust web'
ORDER BY score DESC;


[
{
id: book:1,
score: 0.9227996468544006,
title: [ 'Rust Web Programming' ],
}
]

search::highlight

The search::highlight highlights the matching keywords for the predicate reference number.

API DEFINITION
search::highlight(string, string, number) -> string | string[]

The following example shows this function, and its output, when used in a RETURN statement:

SELECT id, search::highlight('<b>', '</b>', 1) AS title
FROM book WHERE title @1@ 'rust web';


[
{
id: book:1,
title: [ '<b>Rust</b> <b>Web</b> Programming' ]
}
]

search::offsets

The search::offsets returns the position of the matching keywords for the predicate reference number.

API DEFINITION
search::offsets(number) -> object

The following example shows this function, and its output, when used in a RETURN statement:

SELECT id, title, search::offsets(1) AS title_offsets
FROM book WHERE title @1@ 'rust web';


[
{
id: book:1,
title: [ 'Rust Web Programming' ],
title_offsets: {
0: [
{ e: 4, s: 0 },
{ e: 8, s: 5 }
]
}
}
]

The output returns the start s and end e positions of each matched term found within the original field.

The full-text index is capable of indexing both single strings and arrays of strings. In this example, the key 0 indicates that we're highlighting the first string within the title field, which contains an array of strings.