如何使用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