シンプルなような短い質問がありますが、これまでの回答は見つかりませんでした。Elasticsearch与えられたフィールドの最後のドキュメントをGETします。
私はElasticsearchノード、日付フィールドに与えられた最後の文書で検索したいと思います。しかし、私は最後の文書を持っていますが、特定のフィールドを含む文書の場合にのみ必要です。例えば
、のは、私がフィールド "promotionCode" を含む最後の購入を取得したいとしましょう:
問合せ:store1が私のインデックス、購入ある
http://elasticsearch:9200/store1/purchase/_search?q=vendor:Marie&size=1&sort=date:desc
ドキュメントタイプ。
今度は、私は私のElasticSearchにこれら二つの文書を持っているとしましょう:
"hits": [
{
"_index": "store1",
"_type": "purchase",
"_id": "1",
"_score": 1,
"_source": {
"date": "2016-03-16T12:53:16.000Z",
"vendor": "Marie",
"promotionCode": "XYZ123"
}
},
{
"_index": "store1",
"_type": "purchase",
"_id": "2",
"_score": 1,
"_source": {
"date": "2016-03-18T12:53:16.000Z",
"vendor": "Marie"
}
}
]
上記のクエリは、ID 2の文書を取得しますが、私は私の結果に任意のフィールド「promotionCode」を持っていません。
特定のフィールドを含む最後のドキュメントを取得したい場合はどうすればよいですか?
私は「フィールド」フィルタを探求しますが、フィールドが含まれていない場合にのみ、ボイド文書を返送し、私はソースフィルタリングについて読んしかし、私が欲しいものをやっているかわからない...
どうもありがとうどんなヒントでも!
私はこのクエリを試しました:http:// elasticsearch:9200/store1/purchase/_search? しかし、それは私に100を最も返しました。 'promotionsCode'が含まれていなくても、ドキュメントを再読します。私はそれを正しくしていますか? – Alex
本文にJSONをPOSTリクエストする必要があります。ブラウザーで表示結果が必要な場合は、chromeに "postman"拡張子を使用できます。 – skal88
ああ、それは私が思ったものです、それはPOSTリクエストです...私はすでにPostmanを持っています(それは素晴らしいRESTクライアントです!)しかし、私はGET動詞でそれを達成できると思いました。 – Alex