elasticsearch搜索查询返回“ hits”为空

时间:2019-03-19 11:47:40

标签: elasticsearch

我对Elasticsearch还是很陌生,我一直在尝试对数据进行搜索,并始终使hits部分为空。即使在上传数据并建立索引之后,也会发生这种情况。我的映射如下:

{
    "mappings":{
        "type":{
            "properties":{
                "adoriId":{
                    "type":"integer"
                },
                "custom":{
                    "type":"nested",
                    "properties":{
                        "timestamp":{
                            "type":"text"
                        },
                        "value":{
                            "type":"text"
                        }
                    }
                }
            }
        }
    }
}

我需要为搜索到的文本获取关联的时间戳值。我使用的搜索查询(使用邮递员)

获取http://localhost:9200/transcripts/type/_search

{
    "query":{
        "match":{
            "custom.value":"iTunes to rate review And subscribe"
        }
    }
}

我进行的任何搜索都会返回

{
    "took": 1,
    "timed_out": false,
    "_shards": {
        "total": 5,
        "successful": 5,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": 0,
        "max_score": null,
        "hits": []
    }
}

1 个答案:

答案 0 :(得分:0)

字段customNested Datatype的字段,您需要使用Nested Query

下面是您的查询必须如何:

GET transcripts/_search
{  
   "query":{  
      "nested":{  
         "path":"custom",
         "query":{  
            "match":{  
               "custom.value":"iTunes to rate review And subscribe"
            }
         },
         "inner_hits":{}
      }
   }
}