es查询问题排查

es的一个相关性查询,没有按照预想的结果返回。

同事们讨论的结果是springboot 和es 版本的兼容性问题导致没有返回score分数

作为酱油王子,我负责改这个问题,仿照原接口写了一个接口。添加依赖包。

.....时间过了大半天,启动系统报错,包版本冲突...

 

查问题,设置版本

 <properties>
        <elasticsearch.version>7.7.0</elasticsearch.version>
 </properties>  
 <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
    </dependency>
 </dependencies>

改链接方式

1、application.yml简单配置文件

spring:
  elasticsearch:
    rest:
      username: elastic
      password: elastic
      uris: http://localhost:9200

 2、代码复杂配置


import org.apache.http.HttpHost;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class ElasticSearchConfig {

    /**
     *   使用 java api 操作 elasticsearch
     *   1. 导入同版本的依赖  elasticsearch-rest-high-level-client
     *   2. 编写配置类 @Bean 注入到容器  获取 client 对象
     *   3. 测试
     */
    @Value("${es.hostName:172.15.34.32}")
    private String hostName;
    @Value("${es.port:9200}")
    private int port;
    @Value("${es.scheme:http}")
    private String scheme;


    //这里没有使用  @Bean注解  放到容器中 静态方法 直接通过类名调用 单例模式
    //  访问es 有安全鉴别  这个方法给请求设置 RequestOptions 官方文档中有
    public static final RequestOptions COMMON_OPTIONS;
    static {
        RequestOptions.Builder builder = RequestOptions.DEFAULT.toBuilder();
        COMMON_OPTIONS = builder.build();
    }

    @Bean
    public RestHighLevelClient getEsClient(){
        RestHighLevelClient client = new RestHighLevelClient(
                RestClient.builder(
                        new HttpHost(hostName, port, scheme)));
        return client;

    }
}

1、发现自己可能做了无用功,重新跑原来代码,发现还是问题存在

2、查异常,默认查询sort为score,如果设定sort,则score为空。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大巨魔战将

如果对您有帮助,请打赏1分钱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值