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.
Function | Description |
---|---|
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.
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.
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.
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.