如何使用nodejs查找相似文本
How to find similar text with nodejs
我正在尝试开发一个简单的搜索引擎,以使用 nodejs 获取文本文件中的匹配句子,但我想改进我的搜索引擎以获取相似的文本,而不仅仅是准确的文本,关于如何实现的任何建议我这样做?
这是我的代码:
const folder = "./movies/data";
const fs = require("fs");
function search(params) {
let list = [];
fs.readdirSync(folder).forEach((file) => {
const data = fs.readFileSync(`movies/data/${file}`, {
encoding: "utf8",
flag: "r",
});
if (data.includes(params)) {
list.push(data);
}
});
console.log(
`Foram encontradas ${list.length} ocorrências pelo termo ${params}.`
);
return `Foram encontradas ${list.length} ocorrências pelo termo ${params}.`;
}
let args = process.argv.slice(2);
search(args.join(" "));
module.exports = search;
在实现任何算法之前,您必须选择一种文本比较算法。
其中最好的是 Levenshtein distance
https://en.wikipedia.org/wiki/Levenshtein_distance
Link 编辑距离在 JS 中的实现
https://www.tutorialspoint.com/levenshtein-distance-in-javascript
我正在尝试开发一个简单的搜索引擎,以使用 nodejs 获取文本文件中的匹配句子,但我想改进我的搜索引擎以获取相似的文本,而不仅仅是准确的文本,关于如何实现的任何建议我这样做?
这是我的代码:
const folder = "./movies/data";
const fs = require("fs");
function search(params) {
let list = [];
fs.readdirSync(folder).forEach((file) => {
const data = fs.readFileSync(`movies/data/${file}`, {
encoding: "utf8",
flag: "r",
});
if (data.includes(params)) {
list.push(data);
}
});
console.log(
`Foram encontradas ${list.length} ocorrências pelo termo ${params}.`
);
return `Foram encontradas ${list.length} ocorrências pelo termo ${params}.`;
}
let args = process.argv.slice(2);
search(args.join(" "));
module.exports = search;
在实现任何算法之前,您必须选择一种文本比较算法。
其中最好的是 Levenshtein distance
https://en.wikipedia.org/wiki/Levenshtein_distance
Link 编辑距离在 JS 中的实现
https://www.tutorialspoint.com/levenshtein-distance-in-javascript