关于Elasticsearch查询按照相关性排序的问题

spring elasticsearch 查结果按照score降序输出

业务简述

有一批poi数据,需要根据给定地名首拼返回地点。例如给定wt 需要返回包括外滩相关的地名。

数据全部放在es中,且地名已经提取了首拼并存为字段

实现

指定了boost查询权重,但是发现使用spring-data-elasticsearch框架查询出来的结果跟我直接将查询DSL贴到kibana的结果并不一样。

同样的DSL语言在kibana是按照 score排序的,但是代码中的输出确没有排序。

代码中我是这么写的:

        SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(
                boolQuery()
                        .should(boolQuery()
                                .must(queryStringQuery("*地名*").defaultField("type").boost(8))
                                .must(queryStringQuery(pinyin).defaultField("name_pinyin")))
                        .should(boolQuery()
                                .must(queryStringQuery("*公园*").defaultField("type").boost(10))
                                .must(queryStringQuery(pinyin).defaultField("na
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值