私はlaravel 4.2、mongodb、elasticsearchを使用しています。以下は作業コードです。この高度な where クエリをelasticsearchクエリに変換しようとしています:
$products = Product::where(function ($query) {
$query->where (function($subquery1){
$subquery1->where('status', '=', 'discontinued')->where('inventory', '>', 0);
});
$query->orWhere (function($subquery2){
$subquery2->where('status', '<>', 'discontinued');
});
})->get();
これまでに入手できるのは、廃止された製品を返品することだけです。以下のコードは機能しますが、必要なものではありません。
$must = [
['bool' =>
['should' =>
['term' =>
['status' => 'discontinued']
]
]
]
];
上で最初に説明したのと同じクエリをelasticsearchで実現する方法を教えてください。discontinued
の商品を返品してinventory
から、 の商品も返品したいですnot equal to discontinued
。