当我这样做一个查询时:
curl 'http://localhost:9200/xenforo/_search?q=message:test'
我得到以下结果:
{
"took": 3,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 12.816886,
"hits": [
{
"_index": "xenforo",
"_type": "post",
"_id": "1778114",
"_score": 12.816886
}
]
}
}
显示了重要的_id,但我如何获得更多信息,如日期,用户和节点信息。
以下是我的一些映射信息,我认为重要的部分是显示的:
curl -X GET 'http://localhost:9200/xenforo/_mapping?pretty=true'
{
"xenforo113" : {
"post" : {
"_source" : {
"enabled" : false
},
"properties" : {
"date" : {
"type" : "long",
"store" : "yes"
},
"discussion_id" : {
"type" : "long",
"store" : "yes"
},
"message" : {
"type" : "string"
},
"node" : {
"type" : "long"
},
"thread" : {
"type" : "long"
},
"title" : {
"type" : "string"
},
"user" : {
"type" : "long",
"store" : "yes"
}
}
},
我假设我需要进行DSL查询,但我不知道哪个命令会显示我在结果中显示的其他信息。
答案 0 :(得分:1)
由于您已禁用_source,因此您必须要求显式字段:
curl 'http://localhost:9200/xenforo/_search -d '{
"fields" : ["user", "date", "node"],
"query" : {
"match" : { "message" : "test" }
}
}'
请参阅documentation。