我是 ES 新手,正在尝试使用 java api 进行搜索。我无法弄清楚如何使用 java api 提供特定的提升。这是示例:我的索引文档如下所示:
_来源”: {
"th_id": 1,
"th_name": "test name",
"th_description": "test desc",
"th_image": "test-img",
"th_slug": "Make-Me-Smart",
"th_show_title": "Coast Tech Podcast",
"th_sh_category": "Alternative Health
}
当我搜索关键字时,如果它们在“th_name”中找到,我想提高结果,与在其他一些字段中找到它们相比。目前我正在使用以下代码进行搜索:
QueryBuilder qb1 = QueryBuilders.multiMatchQuery(keyword, "th_name", "th_description", "th_show_title", "th_sh_category");
SearchResponse response = client.prepareSearch("talk").setTypes("themes")
.setSearchType(SearchType.DFS_QUERY_THEN_FETCH).setQuery(qb1)
.setFrom(start).setSize(maxRows)
.setExplain(true).execute().actionGet();
如果在“th_name”字段中找到关键字而不是在其他字段中找到关键字,我可以在查询时做些什么来提升文档?