私はElongsearchにインデックスされたMongoDBデータベースに記事の配列を持っています。 MongoDBの各記事には、['Michael Jordan'、 '...']のような著者名の配列が含まれています。各記事はEsに索引付けされます。Elasticsearchの文字列内の文字列と一致するようにpost_filterクエリをフォーマットするにはどうすればよいですか?
私は著者による集計を行っていますが、投稿者による結果をフィルタリングするためにpost_filterを適用したいと思います。これを処理するためにpost_filterクエリをどのように設計する必要がありますか?
エススキーマ(変更可能):
{
authors: ['Michael Jordan', 'Kobe Bryant'],
authorsString: 'Michael Jordan;Kobe Bryant;'
}
これはpost_filterを適用する前に、クエリの例です:
{
...
aggs: {
authors: {
terms: {
field: 'authorsArray.keyword',
},
},
},
post_filter: {},
}
作者の私はの記事を検索したい場合は、少なくとも1 "Michael Jordan"ですが、post_filterを使ってどうすればいいですか?著者フィールドは、いつでも、単に以下のように
"post_filter": {
"term": { "authors": "Michael Jordan" }
}
著者のマッピングとは何ですか? - あなたはそれを見せることができますか? –