我对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": []
}
}
答案 0 :(得分:0)
字段custom
是Nested Datatype的字段,您需要使用Nested Query。
下面是您的查询必须如何:
GET transcripts/_search
{
"query":{
"nested":{
"path":"custom",
"query":{
"match":{
"custom.value":"iTunes to rate review And subscribe"
}
},
"inner_hits":{}
}
}
}