データベース内のいくつかのテーブルからデータを取得するために CouchDB-Lucene を使用しています。問題は、そのデータを解析して、どのデータを lucene インデックスに入れたいかを知る必要があるということです。
そこで、データを処理するためにすでに書いたクラスを使用できると考えました。そして、CouchApp ディレクティブを使用して、このクラスをインデックス関数に追加できます。
結果は次のようになります。
//Index Function
function (doc) {
var myClass = new MyClass(doc.Data);
var ret = new Document();
ret.add(myClass.getResult());
return ret;
}
//CouchApp directives:
//! vendor/couchapp/MyClass.js
自分のデザインドキュメントを見ると、すべてのコードが正しく追加されているように見えますが、検索を実行すると、lucene で「MyClass が定義されていません」と表示されます。
すべての"MyClass"コードを手動でコピーして貼り付けようとすると(そのため、CouchApp ディレクティブを使用しなくなります)、lucene はドキュメントの末尾が正しくないと言います。
私は何が欠けていますか?
編集:問題の意味がない実際の関数コードをすべて削除しました。