1

我以这种方式创建并保存我的 lunr 索引:

require("lunr-languages/lunr.stemmer.support")(lunr);
require("lunr-languages/lunr.multi")(lunr);
require("lunr-languages/lunr.it")(lunr);
const englishItalianSupport = lunr.multiLanguage("en", "it");

    let fullTextIndex = lunr(function() {

        this.use(englishItalianSupport);
        this.pipeline.add(improvedTrimmer); // I think this does not matter

        this.ref("id");
        this.field("body");
        this.metadataWhitelist = ["position"];
        this.add({...});
        ...
     }

然后我保存它以在以下会话中重复使用。

lunr-languages/README.md里面有这一行:

如果您序列化索引并将其加载到另一个脚本中,您还必须在该脚本中初始化多语言支持,如下所示:

lunr.multiLanguage('en', 'it');
var idx = lunr.Index.load(serializedIndex);

需要这个吗?此行生成警告:Overwriting existing registered function: lunr-multi-trimmer-en-it。请记住,此警告是this.use()在索引生成期间调用生成的,然后将其移出lunr()调用。

improvedTrimmer另外,我应该在加载索引时引用我的吗?如果是,如何?

感谢您的澄清!

4

0 回答 0