【发布时间】:2021-08-19 19:04:59
【问题描述】:
是否可以查询 elasticsearch 使其遵循两个查询?
例如,如果我有以下,
[{
"items": [
{
"color" : "blue",
"shape" : "circle",
},{
"color" : "yellow",
"shape" : "square",
},{
"color" : "yellow",
"shape" : "square",
}
},{
"items": [
{
"color" : "blue",
"shape" : "triangle",
},{
"color" : "pink",
"shape" : "circle",
},{
"color" : "red",
"shape" : "circle",
}
},{
"items": [
{
"color" : "red",
"shape" : "rectangle",
},{
"color" : "blue",
"shape" : "circle",
},{
"color" : "purple",
"shape" : "oval",
}
}]
我只想搜索颜色(蓝色)和形状(圆形)的项目。只应返回第一个和第三个。因此,响应应该是
[{
"items": [
{
"color" : "blue",
"shape" : "circle",
},{
"color" : "yellow",
"shape" : "square",
},{
"color" : "yellow",
"shape" : "square",
}
},
{
"items": [
{
"color" : "red",
"shape" : "rectangle",
},{
"color" : "blue",
"shape" : "circle",
},{
"color" : "purple",
"shape" : "oval",
}
}]
但是,目前如果我使用下面的调用,所有条目都将返回,因为它们都有 color:blue 和 shape:circle。
{
"query": {
"query_string": {
"query": "color:blue AND shape:circle"
}
}
}
(但我需要将两者作为一个项目包含在一起)...这可以通过 Elasticsearch 实现吗?
【问题讨论】:
标签: elasticsearch elasticsearch-query