FT.SPELLCHECK
FT.SPELLCHECK
FT.SPELLCHECK index query [DISTANCE distance] [TERMS INCLUDE | EXCLUDE dictionary [terms [terms ...]]] [DIALECT dialect]
- Доступно в:
- Redis Stack / Поиск 1.4.0
- Сложность по времени:
- O(1)
Производит проверку правописания запроса, возвращая предложения по неверно написанным терминам.
Обязательные аргументы
index
Это индекс с индексированными терминами.
query
Это поисковый запрос.
См. Проверку правописания для получения дополнительной информации.
Необязательные аргументы
TERMS
устанавливает включение (INCLUDE) или исключение (EXCLUDE) пользовательского словаря с именем {dict}. Обратитесь к FT.DICTADD, FT.DICTDEL и FT.DICTDUMP для управления пользовательскими словарями.
DISTANCE
устанавливает максимальное расстояние Левенштейна для предложений по правописанию (по умолчанию: 1, максимум: 4).
DIALECT {dialect_version}
выбирает версию диалекта, в рамках которой будет выполняться запрос. Если не указано, запрос будет выполняться в рамках версии диалекта по умолчанию, установленной во время начальной загрузки модуля или с помощью команды FT.CONFIG SET.
Возврат
FT.SPELLCHECK возвращает массивный ответ, в котором каждый элемент представляет собой неверно написанный термин из запроса. Неверно написанные термины упорядочены по порядку их появления в запросе. Каждый неверно написанный термин, в свою очередь, является массивом из 3 элементов, состоящих из постоянной строки TERM, самого термина и массива предложений по исправлению правописания. Каждый элемент в массиве предложений по исправлению правописания состоит из оценки предложения и самого предложения. Массив предложений, по каждому неверно написанному термину, упорядочен в порядке убывания оценки. Оценка рассчитывается путём деления количества документов, в которых существует предложенный термин, на общее количество документов в индексе. Результаты могут быть нормализованы путём деления оценок на самую высокую оценку.
Примеры
Произвести проверку правописания запроса
127.0.0.1:6379> FT.SPELLCHECK idx held DISTANCE 2
1) 1) "TERM"
2) "held"
3) 1) 1) "0.66666666666666663"
2) "hello"
2) 1) "0.33333333333333331"
2) "help"См. также
FT.CONFIG SET | FT.DICTADD | FT.DICTDEL | FT.DICTDUMP
Связанные темы
© 2006–2022 Salvatore Sanfilippo
Licensed under the Creative Commons Attribution-ShareAlike License 4.0.
https://redis.io/commands/ft.spellcheck/