Я создаю и сохраняю свой лунный индекс следующим образом:
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
при загрузке индекса?Если да, то как?
Спасибо за разъяснения!