0

私は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

4

1 に答える 1