Мы используем sphinx и сниппеты для базового c поиска по сайту.
SELECT id FROM search WHERE MATCH('(@keywords corona)')
И мы получаем совпадения по "коронавирусу" и "коронарному заболеванию", как и следовало ожидать.
Но когда мы позже используем
CALL SNIPPETS(
'Wuhan Novel Coronavirus - What you need to know',
'search',
'corona',
'<span class="mark">' AS before_match,
'</span>' AS after_match,
'…' AS chunk_separator,
800 AS limit,
20 AS around,
0 AS query_mode
)
Ни одно из этих частичных совпадений не будет выделено.
Если мы ищем полное слово (заменяя "корона" в SELECT
и CALL SNIPPETS
, например, с помощью "coronavirus"), тогда результаты полного слова будут выделены правильно.
Есть ли способ получить CALL SNIPPETS
, чтобы выделить частичные совпадения слов в первом примере, как это происходит с полное слово приводит во втором примере?