我正在搜索以下索引:
{
"_index": "example-index",
"_type": "_doc",
"_id": "C-123",
"_version": 1685532751615,
"_seq_no": 123,
"_primary_term": 16,
"found": true,
"_source": {
"definitionKey": "example.definition",
"definitionName": "example",
"startTime": "2023-05-31T11:32:31.526Z",
"id": "C-123",
"state": "active",
"variables": [
{
"id": "VAR-d4a01b91-ffa6-11ed-83be-560acee90493",
"name": "skills",
"jsonValue": [
"Skill 1"
]
}
],
"definitionId": "C-456",
"tenantId": ""
}
}
我通过检查wether来查找此索引:
1.“definitionKey”等于“example.definition”
1.“variables”数组的条目有一个字段“name”,它与“skills”完全匹配
- 2的入口。有一个“jsonValue”数组,其中至少包含一个与“Skill1”完全匹配的条目
前两个工作完美,但3。好像不能正常工作。我没有得到一个异常,但索引也没有显示在结果中。
如何检查“jsonValue”是否包含值为“Skill 1”的条目?
我尝试的查询:
{
"query": {
"bool": {
"must": [
{
"term": {
"definitionKey": "example.definition"
}
},
{
"nested": {
"path": "variables",
"query": {
"bool": {
"must": [
{
"term": {
"variables.name": "skills"
}
},
{
"nested": {
"path": "variables",
"query": {
"terms": {
"variables.jsonValue.keyword": [
"Skill 1"
]
}
}
}
}
]
}
}
}
}
]
}
}
}
1条答案
按热度按时间oxcyiej71#
分析索引文档,只有变量字段嵌套类型,jsonValue字段没有嵌套。
这样就不需要对齐嵌套查询。请参见下面的示例。
Map
数据
查询