博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Elasticsearch上手 - 遇到的问题
阅读量:6851 次
发布时间:2019-06-26

本文共 1666 字,大约阅读时间需要 5 分钟。

TooManyClauses问题

问题描述

在搜索时,遇到了下面的Response:

"caused_by":{
"type":"too_many_clauses","reason":"maxClauseCount is set to 1024"}}}],"caused_by":{
"type":"query_shard_exception","reason":"failed to create query:

原因

查询中需要对某个字段做terms搜索,传入的候选条件过多。错误代码是:

JSONObject joQuery = query(                    bool(                            must(                                    term("user", userId),                                    terms("keys", keyList))));

解决办法

将must替换为filte即可:

JSONObject joQuery = query(                    bool(                            filter(                                    term("user", userId),                                    terms("keys", keyList))));

启动的配置问题

切换了新的服务器,在启动elasticsearch时,看到了下面的提示信息:

max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

这个在文档里给了很详细的说明:

搜索时超时

使用Java RestClient搜索时,出现了超时的问题:

java.io.IOException: listener timeout after waiting for [30000] ms    at org.elasticsearch.client.RestClient$SyncResponseListener.get(RestClient.java:617) ~[rest-5.2.0.jar:5.2.0]    at org.elasticsearch.client.RestClient.performRequest(RestClient.java:212) ~[rest-5.2.0.jar:5.2.0]    at org.elasticsearch.client.RestClient.performRequest(RestClient.java:184) ~[rest-5.2.0.jar:5.2.0]

在创建RestClient时,设置超过时长:

private RestClient getClient(){        return RestClient.builder(                new HttpHost(systemConfig.elasticsearchHost, Integer.parseInt(systemConfig.elasticsearchHttpPort), "http"))                .setMaxRetryTimeoutMillis(5 * 60 * 1000) //超时时间设为5分钟                .build();    }

转载地址:http://hlgul.baihongyu.com/

你可能感兴趣的文章
思科3560交换机端口限速
查看>>
linux网络设备无法启动问题处理
查看>>
生活大爆炸系列之磨望远镜
查看>>
文档:Windows Server 2012 配置Hyper-V复制
查看>>
正则表达式
查看>>
Angular企业级开发(1)-AngularJS简介
查看>>
如何查看自己电脑系统的安装日期-Window上
查看>>
tomcat 连接数设置(转)
查看>>
Windows压缩包安装MySQL
查看>>
13040:All in All
查看>>
动态规划
查看>>
单纯形法
查看>>
21.Spring Boot 使用Java代码创建Bean并注册到Spring中
查看>>
window.location.href的用法
查看>>
C# MVC中直接执行Js
查看>>
mac book下批量替换多个文件中的字符
查看>>
python IO编程-序列化
查看>>
9.回文数
查看>>
[转] 使用NVM快速搭建NODE开发环境
查看>>
软件测试入门随笔——软件测试基础知识(七)
查看>>