python的pip安装国内源

1、pip install -r requirements.txt

使用清华大学的镜像源:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

使用阿里云的镜像源:

pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

es做搜索工具时中英文混合的情况会查询不出来内容

因为es会对搜索条件做分词处理,所以就会导致es查询的内容不是想要的
不过可以是有script的方式查询,但是效率很低很慢

方式一:

   // 创建一个Script,用于执行模糊匹配
                Script script = new Script(ScriptType.INLINE, "painless",                 "doc['plateNo.keyword'].value.contains(params.query)",
                        Collections.singletonMap("query", queryParam.getFieldValue().toString()));
  // 创建一个ScriptQueryBuilder,并将其包装在BoolQueryBuilder中,你也可以根据需求构建其他类型的查询
ScriptQueryBuilder scriptQuery = QueryBuilders.scriptQuery(script);
boolQuery.must(scriptQuery);

方式二:

 boolQuery.must(QueryBuilders.wildcardQuery("plateNo.keyword", "*" + queryParam.getFieldValue().toString() + "*"));

用NGINX反代了ES后 该怎么连接那?解决方案

因为客户是政府项目,端口要开放策略
所有采用用nginx反代es

因为连接后面多了一个/es/

# es 配置
elasticsearch:
  userName: elastic
  password: DrnFCKEAgsMNMSMH
  hosts: 10.68.182.147:80
  scheme: http
  connectTimeOut: 1000
  socketTimeOut: 30000
  connectionRequestTimeOut: 500
  maxConnectNum: 100
  maxConnectNumPerRoute: 100
  #nginx反代的目录
  contextPath: /es/

所有创建连接这里要改为

 /**
     * 如果@Bean没有指定bean的名称,那么方法名就是bean的名称
     */
    @Bean(name = "restHighLevelClient")
    public RestHighLevelClient restHighLevelClient() {
        // 构建连接对象
        RestClientBuilder builder = RestClient.builder(getEsHost());
        //这里就是nginx配置的反代目录 /es/
        if (StringUtils.isNotBlank(contextPath)) {
            builder.setPathPrefix(contextPath);
        }
        // 连接延时配置
        builder.setRequestConfigCallback(requestConfigBuilder -> {
            requestConfigBuilder.setConnectTimeout(connectTimeOut);
            requestConfigBuilder.setSocketTimeout(socketTimeOut);
            requestConfigBuilder.setConnectionRequestTimeout(connectionRequestTimeOut);
            return requestConfigBuilder;
        });

        // 连接数配置
        builder.setHttpClientConfigCallback(httpClientBuilder -> {
            httpClientBuilder.setMaxConnTotal(maxConnectNum);
            httpClientBuilder.setMaxConnPerRoute(maxConnectNumPerRoute);
            httpClientBuilder.setDefaultCredentialsProvider(getCredentialsProvider());
            return httpClientBuilder;
        });

        return new RestHighLevelClient(builder);
    }