以下是customer
和customer_query
文档的映射数据,其中customer
是父文档,customer_query
是子文档。
当我针对所有customer_query
文档运行通用搜索时,我会收到127个文档。
但是,当我对父
运行以下查询时curl -XGET "http://localhost:9200/fts_index/customer/_search" -d'
{
"query": {
"has_child" : {
"type" : "customer_query",
"query" : { "match_all": {} }
}
}
}
}'
我只收回了23份文件。由于每个customer_query
文档都分配了一个与customer
类型匹配的唯一父ID,因此应该返回127个文档。
当我重新创建我的customer_query
文档时,我每次都会收到不同数量的文档,这些文档会让我认为它是某种碎片问题。我有5个分片分配给索引。
{
"took" : 59,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"failed" : 0
},
"hits" : {
"total" : 23,
"max_score" : 1.0,
"hits" : [ {
"_index" : "fts_index",
"_type" : "customer",
"_id" : "7579f2c0-e4e4-4374-82d7-bf4c508fc51d",
"_score" : 1.0,
"_routing" : "8754248f-1c51-46bf-970a-493c349c70a7",
"_parent" : "8754248f-1c51-46bf-970a-493c349c70a7",
....
我无法解决这个问题。关于可能出现什么问题的任何想法?这是路由问题吗?如果是这样,我如何通过搜索来纠正这个问题?