Elasticsearch多匹配完全匹配提升

时间:2015-05-13 02:10:36

标签: elasticsearch spring-data-elasticsearch

我们使用弹簧数据弹性搜索。 我们使用multimatch查询来搜索多个字段。

QueryBuilder queryBuilder = multiMatchQuery(searchInput, "id","firstName","lastName","title","nickName","location")
        .type(MatchQueryBuilder.Type.PHRASE_PREFIX).analyzer("standard");

我们使用PHRASE_PREFIX进行词组匹配。

现在,我们想为nickName添加完全匹配的提升(仅在完全匹配时提升)。

例如,当我搜索Phone时,如果nickName上存在完全匹配,则应在结果中首先排序。如果没有完全匹配,那么firstName应该给予提升。我试过像下面这样的提升。

QueryBuilder queryBuilder = multiMatchQuery(searchInput, "id","firstName","lastName","title","nickName^9","location")
        .type(MatchQueryBuilder.Type.PHRASE_PREFIX).analyzer("standard");

Boosting似乎没有起作用。也不确定,如何仅在场地上的精确匹配上添加提升。

由于

0 个答案:

没有答案