文件:
{
"issue_id": 1100,
"text_content": [
{
"page": 1,
"content": "First Page"
},
{
"page": 2,
"content": "Second TOC"
}
]
}
上述文档在issues
索引中编入索引,类型为issue_text
。
下面是类型的映射。
映射:
{
"issues": {
"mappings": {
"issue_text": {
"properties": {
"issue_id": {
"type": "integer"
},
"text_contents": {
"type": "nested",
"include_in_parent": true,
"properties": {
"content": {
"type": "string"
},
"page": {
"type": "integer"
}
}
}
}
}
}
}
}
查询:
curl -XPOST "http://localhost:9200/issues/issue_text/_search" -d'{
"query": {
"filtered": {
"filter": {
"term": {
"issue_id": 1109
}
},
"query": {
"nested": {
"path": "text_contents",
"query": {
"bool": {
"must": [
{
"match": {
"text_contents.content": "toc"
}
}
]
}
}
}
}
}
}
}'
我收到了错误消息。 嵌套:QueryParsingException [[issues] [嵌套]路径[text_contents]下的嵌套对象不是嵌套类型]。
我正在尝试获取与给定issue_id(1109)的文档匹配单词“toc”的text_contents对象。简而言之 - 尝试过滤并查找某个文档,然后对该文档中的嵌套对象执行全文搜索。