1
获取Elasticsearch Java API返回搜索亮点需要什么?如何获得Elasticsearch 5.2.2搜索突出显示使用Java API
我使用构造查询的代码看起来类似于以下内容:
final HighlightBuilder highlight = new HighlightBuilder()
.field("*")
.highlighterType("fvh");
final SearchRequestBuilder request = client.prepareSearch()
.setTypes("mytype")
.setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
.setQuery(query)
.setFrom(currentPage)
.setSize(perPage)
.highlighter(highlight)
.addSort(orderBy.getValue(), sortOrder);
倾销查询看起来是这样的:
{
"from" : 0,
"size" : 10,
"query" : {
"bool" : {
"must" : [
{
"terms" : {
"my.field" : [
"myvalue"
],
"boost" : 1.0
}
}
],
"disable_coord" : false,
"adjust_pure_negative" : true,
"boost" : 1.0
}
},
"sort" : [
{
"myotherfield1.myotherfield2.myotherfield3" : {
"order" : "desc"
}
}
],
"highlight" : {
"type" : "fvh",
"fields" : {
"*" : { }
}
}
}
我得到的结果,但在.getHighlightFields()
方法上每次击中都会返回空白地图。