弹性搜索连接查询
elastic search join query
我很难在弹性搜索中进行连接查询。我的用例在子文档中为它指定了一个特定的字段和值,检索父文档。
我已经按照文档在两个文档之间建立了父子关系。当我尝试查询时,我没有收到错误,但也没有得到任何结果。以下是查询
GET my_index/_search
{
"query": {
"has_parent" : {
"parent_type" : "<parent_type>",
"query" : {
"match" : {
"name": "child_name"
}
}
}
}
}
我在同一个索引 "my_index" 中加载了父文档和子文档。我在加载文档之前已经建立了映射。我的映射如下
PUT my_index
{
"mappings": {
"doc": {
"properties": {
"parent_join": {
"type": "join",
"relations": {
"<parent_type>": "<child_type>"
}
}
}
}
}
}
我在加载文档时添加了路由号码作为父 ID。
您说过要根据子字段检索父文档,但您的查询恰恰相反。你想要 has_child
:
{
"query": {
"has_child" : {
"type" : "<child_type>",
"query" : {
"term" : {
"name" : "child_name"
}
}
}
}
}
我很难在弹性搜索中进行连接查询。我的用例在子文档中为它指定了一个特定的字段和值,检索父文档。
我已经按照文档在两个文档之间建立了父子关系。当我尝试查询时,我没有收到错误,但也没有得到任何结果。以下是查询
GET my_index/_search
{
"query": {
"has_parent" : {
"parent_type" : "<parent_type>",
"query" : {
"match" : {
"name": "child_name"
}
}
}
}
}
我在同一个索引 "my_index" 中加载了父文档和子文档。我在加载文档之前已经建立了映射。我的映射如下
PUT my_index
{
"mappings": {
"doc": {
"properties": {
"parent_join": {
"type": "join",
"relations": {
"<parent_type>": "<child_type>"
}
}
}
}
}
}
我在加载文档时添加了路由号码作为父 ID。
您说过要根据子字段检索父文档,但您的查询恰恰相反。你想要 has_child
:
{
"query": {
"has_child" : {
"type" : "<child_type>",
"query" : {
"term" : {
"name" : "child_name"
}
}
}
}
}