Php Elasticsearch仅使用过滤查询
我正在为我的Laravel应用程序使用ES,我需要做一个只包含过滤器而不包含“文本搜索”的搜索查询,但我不确定如何编写它 这样行吗Php Elasticsearch仅使用过滤查询,php,mysql,search,laravel,
elasticsearch,Php,Mysql,Search,Laravel,
elasticsearch,我正在为我的Laravel应用程序使用ES,我需要做一个只包含过滤器而不包含“文本搜索”的搜索查询,但我不确定如何编写它 这样行吗 $query = [ 'filtered' => [ 'filter'=> [ 'bool' => [ 'must' => [ [ 'range' => [ 'price' => [
$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
,并且只有过滤器
,含义仍然不会改变。可能重复