聲明:我使用的elasticsearch的版本是5.4.0,具體參考下麵的鏈接 https://www.elastic.co/guide/en/elasticsearch/reference/5.4/query-dsl-filtered-query.html filtered 查詢已經被bool 查 ...
聲明:我使用的elasticsearch的版本是5.4.0,具體參考下麵的鏈接
https://www.elastic.co/guide/en/elasticsearch/reference/5.4/query-dsl-filtered-query.html
filtered 查詢已經被bool 查詢取代了,
bool查詢:
https://www.elastic.co/guide/en/elasticsearch/reference/5.4/query-dsl-bool-query.html
對應的PHP查詢的body如下:
1 // 帶過濾的查詢語句,過濾where furniture_type_id = 1 and apt_id = 1266 2 $params = [ 3 'index' => 'dpjia', 4 'type' => 'apartment', 5 'size' => 100, 6 'body' => [ 7 'query' => [ 8 'bool' => [ 9 'must' => [ 10 'match' => [ 11 'apt_name' => '戶型' 12 ] 13 ], 14 //filter 相當於 SQL 里的where條件 where furniture_type_id = 1 and apt_id = 1266 15 'filter' => [ 16 [ 17 'term' => [ 18 'furniture_type_id' => 1 19 ] 20 ], 21 [ 22 'term' => [ 23 'apt_id' => 1266 24 ] 25 ] 26 ] 27 ], 28 ] 29 ] 30 ]; 31 32 33 $response = self::$client->search($params); 34 print_r($response);