我有文档,有1000行,用弹性搜索索引,我试图使用Kibana搜索这些文档。它很好用。但是当Kibana返回搜索结果中的完整文档时,用户必须滚动大量的内容才能在文档中看到他们的搜索词。
我怎么才能让Kibana只返回几行关于搜索词而不是完整的文档呢?
例如,如果我的文档中的可搜索文本是
这是最好的时代,也是最糟糕的时代,是智慧的时代,是愚蠢的时代,是信仰的时代,是怀疑的时代,是光明的季节,是黑暗的季节,是希望的源泉,是绝望的冬天。-Charles狄更斯,“两个城市的故事”
所以,如果我搜索的是word 信念,而不是返回完整的段落,我只想在它之前和之后返回几个单词(对于大型文档,只有几行)。
发布于 2019-06-22 12:40:47
是的,您可以使用_source从搜索的文档中检索想要的字段。下面是一个例子
我在movies索引中有这个文档
{
"_index" : "movies",
"_type" : "movie",
"_id" : "58559",
"_score" : 1.0,
"_source" : {
"id" : "58559",
"title" : "Dark Knight, The",
"year" : 2008,
"genre" : [
"Action",
"Crime",
"Drama",
"IMAX"
]
}
}当我搜索这份文件时,我只需要提一下标题,这就是我怎么做的。
GET /movies/_search?pretty
{
"query":{
"match":{
"year": "2008"
}
},
"_source":[
"title"
]
}我在year上搜索,得到的文档只显示了我想要的title。下面是来自上述查询的响应
{
"_index" : "movies",
"_type" : "movie",
"_id" : "58559",
"_score" : 1.0,
"_source" : {
"title" : "Dark Knight, The"
}
}https://stackoverflow.com/questions/56715276
复制相似问题