首页 > 解决方案 > 查询必须匹配的数组

问题描述

我有一个文档索引。索引包含文档正文和文档类型,例如 pdf、jpeg、png 等。我可以用一个单词和一个文档类型查询索引,使用 must 就可以了。

                $params = [
                'index' => 'trial2',
                'type' => '_doc',
                'body' => [
                  'query' => [
                    'bool' => [
                      'must' => [
                        [ 'match' => [ 'file.extension' => "png" ] ],
                        [ 'match' => [ 'content' => "abc" ] ],
                      ]
                    ]
                  ]
                ]
              ];

screenshot挑战是,我想查询仍然使用 must 但文档类型数组(png 但 jpeg、gif、svg、tiff)的索引,以便我将其分类为图像。如何用数组替换 png 以便至少一个是正确的。

标签: phpelasticsearch

解决方案


您可以使用“条款”查询:

https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-query.html

术语查询返回在提供的字段中包含一个或多个确切术语的文档。


推荐阅读