2017-05-18 1 views
2

lunrインデックスを作成し、割り当てられた後に文書を追加しようとしています。割り当て後にlunrインデックスに文書を追加できません(TypeError:idx.addは関数ではありません)

var documents = [{ 
 
    'id': '1', 
 
    'content': 'hello' 
 
}, { 
 
    'id': '2', 
 
    'content': 'world' 
 
}, { 
 
    'id': '3', 
 
    'content': '!' 
 
}]; 
 

 
var idx = lunr(function() { 
 
    this.ref('id'); 
 
    this.field('content'); 
 
}); 
 

 
for (var i = 0; i < documents.length; ++i) { 
 
    idx.add(documents[i]); 
 
}

これは私に次のエラーを与えている:これは私が何をしようとしているのやや簡略化されたバージョンではTypeError:idx.addは関数ではありません。 私はこれがあなたがそれをやることができると言っている複数のtutorialsを見ました。

idxを割り当てるときにドキュメントを追加しても、それは私にとってはうまくいきます。

var documents = [{ 
 
    'id': '1', 
 
    'content': 'hello' 
 
}, { 
 
    'id': '2', 
 
    'content': 'world' 
 
}, { 
 
    'id': '3', 
 
    'content': '!' 
 
}]; 
 

 
var idx = lunr(function() { 
 
    this.ref('id'); 
 
    this.field('content'); 
 

 
    for (var i = 0; i < documents.length; ++i) { 
 
    this.add(documents[i]); 
 
    } 
 
});

私はまだので、これは必ずしもlunrに関連していない可能性がありますjavascriptのnoobのです。

+0

質問をするときは、答えをチェックインするという共通の礼儀を示してください。 –

+0

こんにちは@ user3163192これまたは任意の回答があなたの質問を解決した場合、チェックマークをクリックしてそれを受け入れることを検討してください。これは、あなたが解決策を見つけ出し、回答者とあなた自身の両方に評判を与えていることを広範なコミュニティに示します。これを行う義務はありません。 –

+0

@OliverNightingale、遅れて申し訳ありません、私は今すぐチェックマークをクリックしました。説明をありがとう:) – user3163192

答えて

5

リンク先のチュートリアルは、古いバージョンのLunr用です。最新バージョンでは、lunr関数に渡す関数内のインデックスにすべてのドキュメントを追加する必要があります。言い換えれば、2番目の例はLunrの最新バージョンに適しています。

最新バージョンへのアップグレードにはguideがあります。これは、その(および他の)チュートリアルと最新バージョンの古いバージョンの違いをうまくカバーするはずです。

+0

OPがチェックバックしておらず、あなたの答えを受け入れるか、フィードバックに感謝しています。それは価値があるもののために:あなたは私を助けupvoteを得た。 –

+0

@RoyPrinsそれがあなたを助けてくれてうれしいです、そしてupvoteに感謝します! –

+0

こんにちは@OliverNightingale、答えをありがとう、それをアップアップしていないのを申し訳ありません。私はちょうど完全なnoobでStackoverflow – user3163192

関連する問題