Elasticsearch仅使用筛选查询

时间:2015-03-11 10:02:08

标签: php mysql search laravel elasticsearch

我正在使用ES作为我的Laravel应用程序,我需要进行一个只包含过滤器的搜索查询,而不是"文本搜索"但我不确定如何写它。

这没关系

$query = [
   'filtered' => [
      'filter'=> [
         'bool' => [
            'must' => [
               [ 'range' => [
                  'price' => [
                     'lte' => 9000
                  ]
               ]
               ],
            ],
         ]
      ],
   ],
];

或者我也必须使用match_all例如:

$query = [
   'filtered' => [
   'query' => [
       'match_all' => []
    ],
      'filter'=> [
         'bool' => [
            'must' => [
               [ 'range' => [
                  'price' => [
                     'lte' => 9000
                  ]
               ]
               ],
            ],
         ]
      ],
   ],
];

我想要的是仅使用过滤的bool查询而不进行文本搜索。

提前致谢,

1 个答案:

答案 0 :(得分:1)

两个版本完全相同。