我正在用Elasticsearch父/子用fun-with-elasticsearch-s-children-and-nested-documents/的一些簡單示例進行實驗。我能夠通過在博客中運行查詢來查詢子元素ElasticSearch has_parent查詢
curl -XPOST localhost:9200/authors/bare_author/_search -d '{
但是,我無法調整has_parent查詢的示例。有人可以指出我做錯了什麼,因爲我一直得到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"}
}
}
}
}'
您應該首先嚐試在bare_author類型上直接運行「term」查詢或過濾器,以查看它是否返回一些匹配項。你會看到問題來自'has_parent'還是'term'查詢。 – mguillermin