我正在尝试使用Elasticsearch的父子关系,并从fun-with-elasticsearch-s-children-and-nested-documents/中学习一些简单的例子。我可以通过在博客中运行查询来查询子元素。
curl -XPOST localhost:9200/authors/bare_author/_search -d '{
然而,我无法调整具有父项查询的示例。请问有人能指出我做错了什么,因为我一直得到0个结果。
这是我尝试过的内容:
#Returns 0 hits
curl -XPOST localhost:9200/authors/book/_search -d '{
"query": {
"has_parent": {
"type": "bare_author",
"query" : {
"filtered": {
"query": { "match_all": {}},
"filter" : {"term": { "name": "Alastair Reynolds"}}
}
}
}
}
}'
#did not work either
curl -XPOST localhost:9200/authors/book/_search -d '{
"query": {
"has_parent" : {
"type" : "bare_author",
"query" : {
"term" : {
"name" : "Alastair Reynolds"
}
}
}
}
}'
这适用于匹配,但只匹配了姓氏。
#works but matches just first name
curl -XPOST localhost:9200/authors/book/_search -d '{
"query": {
"has_parent" : {
"type" : "bare_author",
"query" : {
"match" : {"name": "Alastair"}
}
}
}
}'
term
查询或过滤器,以查看是否返回一些匹配项。这样你就可以确定问题是来自于has_parent
还是term
查询。 - mguillermin