-first commit
This commit is contained in:
56
node_modules/@redis/search/dist/lib/commands/SPELLCHECK.js
generated
vendored
Normal file
56
node_modules/@redis/search/dist/lib/commands/SPELLCHECK.js
generated
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const default_1 = require("../dialect/default");
|
||||
exports.default = {
|
||||
NOT_KEYED_COMMAND: true,
|
||||
IS_READ_ONLY: true,
|
||||
/**
|
||||
* Performs spelling correction on a search query.
|
||||
* @param parser - The command parser
|
||||
* @param index - Name of the index to use for spelling corrections
|
||||
* @param query - The search query to check for spelling
|
||||
* @param options - Optional parameters:
|
||||
* - DISTANCE: Maximum Levenshtein distance for spelling suggestions
|
||||
* - TERMS: Custom dictionary terms to include/exclude
|
||||
* - DIALECT: Version of query dialect to use (defaults to 1)
|
||||
*/
|
||||
parseCommand(parser, index, query, options) {
|
||||
parser.push('FT.SPELLCHECK', index, query);
|
||||
if (options?.DISTANCE) {
|
||||
parser.push('DISTANCE', options.DISTANCE.toString());
|
||||
}
|
||||
if (options?.TERMS) {
|
||||
if (Array.isArray(options.TERMS)) {
|
||||
for (const term of options.TERMS) {
|
||||
parseTerms(parser, term);
|
||||
}
|
||||
}
|
||||
else {
|
||||
parseTerms(parser, options.TERMS);
|
||||
}
|
||||
}
|
||||
if (options?.DIALECT) {
|
||||
parser.push('DIALECT', options.DIALECT.toString());
|
||||
}
|
||||
else {
|
||||
parser.push('DIALECT', default_1.DEFAULT_DIALECT);
|
||||
}
|
||||
},
|
||||
transformReply: {
|
||||
2: (rawReply) => {
|
||||
return rawReply.map(([, term, suggestions]) => ({
|
||||
term,
|
||||
suggestions: suggestions.map(([score, suggestion]) => ({
|
||||
score: Number(score),
|
||||
suggestion
|
||||
}))
|
||||
}));
|
||||
},
|
||||
3: undefined,
|
||||
},
|
||||
unstableResp3: true
|
||||
};
|
||||
function parseTerms(parser, { mode, dictionary }) {
|
||||
parser.push('TERMS', mode, dictionary);
|
||||
}
|
||||
//# sourceMappingURL=SPELLCHECK.js.map
|
||||
Reference in New Issue
Block a user