gpt4 book ai didi

php - 查询必须匹配的数组

转载 作者:行者123 更新时间:2023-12-03 02:37:32 25 4
gpt4 key购买 nike

我有文件索引。索引包含文档主体和文档类型,例如pdf,jpeg,png等。我可以用单词查询索引,并且使用一种文档类型必须很好。

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

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

最佳答案

如果file.extensiontext类型:

只需在Match Query旁边添加更多 token 。确保您遍历this (Analysis)this (Analyzer)以了解其内部工作方式。

POST my_png/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"file.extension": "jpg jpeg png" <---- Note this.
}
},
{
"match": {
"content": "abc"
}
}
]
}
}
}

如果 file.extensionkeyword类型(推荐)

或者,如果您在 keyword中有一个 file.extension.keyword sibling ,则可以使用 Terms Query
POST my_png/_search
{
"query": {
"bool": {
"must": [
{
"terms": { <---- Terms Query
"file.extension.keyword": [ <---- Or 'file.extension' field, whichever must of be type `keyword`
"jpg",
"jpeg",
"png"
]
}
},
{
"match": {
"content": "abc"
}
}
]
}
}
}

根据您的要求,我想您必须使用第二个选项作为完全匹配项,因此需要在 Terms Query字段上使用 keyword

希望有帮助!

关于php - 查询必须匹配的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58545755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com