Lunr: мультиязычная настройка нужна и при загрузке индекса? - PullRequest
0 голосов
/ 24 мая 2018

Я создаю и сохраняю свой лунный индекс следующим образом:

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 при загрузке индекса?Если да, то как?

Спасибо за разъяснения!

...