Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Elasticsearch仅使用过滤查询_Php_Mysql_Search_Laravel_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Php,Mysql,Search,Laravel,elasticsearch" /> elasticsearch,Php,Mysql,Search,Laravel,elasticsearch" />

Php Elasticsearch仅使用过滤查询

Php Elasticsearch仅使用过滤查询,php,mysql,search,laravel,elasticsearch,Php,Mysql,Search,Laravel,elasticsearch,我正在为我的Laravel应用程序使用ES,我需要做一个只包含过滤器而不包含“文本搜索”的搜索查询,但我不确定如何编写它 这样行吗 $query = [ 'filtered' => [ 'filter'=> [ 'bool' => [ 'must' => [ [ 'range' => [ 'price' => [

我正在为我的Laravel应用程序使用ES,我需要做一个只包含过滤器而不包含“文本搜索”的搜索查询,但我不确定如何编写它

这样行吗

$query = [
   'filtered' => [
      'filter'=> [
         'bool' => [
            'must' => [
               [ 'range' => [
                  'price' => [
                     'lte' => 9000
                  ]
               ]
               ],
            ],
         ]
      ],
   ],
];
或者我必须同时使用match_all,例如:

$query = [
   'filtered' => [
   'query' => [
       'match_all' => []
    ],
      'filter'=> [
         'bool' => [
            'must' => [
               [ 'range' => [
                  'price' => [
                     'lte' => 9000
                  ]
               ]
               ],
            ],
         ]
      ],
   ],
];
我想要的是只使用过滤布尔查询,而不使用文本搜索


提前感谢,

两个版本完全相同。

什么是“查询”=>['match_all'=>[],做什么?它匹配所有文档,但如果您删除
query
,并且只有
过滤器
,含义仍然不会改变。可能重复