現在、1.5 は AWS Elasticsearch がサポートする ElasticSearch の最新バージョンであるため、elasticsearch javascript API 1.5 を使用しています。
次のテンプレートを指定すると、使用すると思われるjavascriptの関数が機能します
{
_source: ['inner_hits'],
size: `{{size}}{{^size}}10{{/size}}`,
from: `{{from}}{{^from}}0{{/from}}`,
filter: {
prefix: {
series: `{{series}}`,
isbn: `{{isbn}}`,
},
},
}
現在のフィルターは機能しますが、'series' または 'isbns' の配列をフィルターに渡すことはできません。次のフィルタ オブジェクトを使用できません
filter: {
terms: {
series: [`{{series}}`],
isbn: [`{{isbn}}`],
},
},
シリーズまたは isbn が渡されない場合、空の文字列に一致する本はありません。デフォルト値を渡したとしても、すべての本に一致する必要があります。つまり、すべてのシリーズとすべての isbn が含まれている必要があります。
理想的には、通常の口ひげファイルを作成し、ここで説明されている方法で事前に登録されたテンプレートを使用するだけです。
これは、クラスターにテンプレートを保存する 2 つの方法を説明しています。まず、AWS Elasticsearch ではアクセスできない config/scripts ディレクトリに保存し、次に、テンプレートを文字列として ".scripts" というインデックスに渡します。 "。
2番目のオプションについては、elasticsearch.js APIを使用してこれを行う方法がわからないため、別の方法で行う必要があり、オンラインでこの例を見つけることができません.