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()
方法上每次擊中都會返回空白地圖。