之前没改elasticsearch之前用的127.0.0.1的地址,代码生通过可行的,单机集群后改了地址就报错,请指教
报错信息:
Caused by: java.net.ConnectException: Connection refused: no further information
Caused by: java.net.ConnectException: Timeout connecting to [localhost/127.0.0.1:9200]
配置信息如下:
elasticsearch:
# ip地址,多个使用,分隔
ipAddrs: 192.168.1.66:9200,192.168.1.66:9201,192.168.1.66:9202
dataFormat: yyyy.MM.dd.HH.mm.ss
includeTypeName: false
client:
# 连接目标url最大超时
connectTimeOut: 5000
# 等待响应(读数据)最大超时
socketTimeOut: 6000
# 从连接池中获取可用连接最大超时时间
connectionRequestTime: 3000
# 连接池中的最大连接数
maxConnectNum: 30
# 连接同一个route最大的并发数
maxConnectPerRoute: 10
server:
port: 8050
代码
@Configuration
public class RestConfig {
public RestHighLevelClient getClient(){
try {
RestHighLevelClient client =new RestHighLevelClient(RestClient.builder(new HttpHost("192.168.1.66",9200,"http")));
return client;
} catch (Exception e){
}
return null;
}
}
@RequestMapping(value = "/search_2",method = RequestMethod.GET)
@ApiOperation("通过单字段信息模糊搜索")
//模糊效果有点差,可能和中文分词库有关
public String search_2(String index,String name,String text)throws IOException{
SearchRequest searchRequest =new SearchRequest(index);
SearchSourceBuilder searchSourceBuilder =new SearchSourceBuilder();
MatchQueryBuilder matchQueryBuilder =new MatchQueryBuilder(name,text);
matchQueryBuilder.fuzziness(Fuzziness.AUTO);
matchQueryBuilder.prefixLength(20);//前缀长度
matchQueryBuilder.maxExpansions(5);
searchSourceBuilder.query(matchQueryBuilder);
//searchSourceBuilder.sort(new ScoreSortBuilder().order(SortOrder.DESC));//排序
//searchSourceBuilder.sort(new FieldSortBuilder("_id").order(SortOrder.ASC));
SearchResponse searchResponse =client.search(searchRequest,RequestOptions.DEFAULT);
return JSON.toJSONString(searchResponse);
}
2 个回复
God_lockin
赞同来自:
h515834765 - 95程序媛
赞同来自: