elasticsearch,Linux,elasticsearch" /> elasticsearch,Linux,elasticsearch" />

Linux 使用bool查询在术语过滤器中搜索大量关键字会导致终端崩溃

Linux 使用bool查询在术语过滤器中搜索大量关键字会导致终端崩溃,linux,elasticsearch,Linux,elasticsearch,我可以使用下面的代码在两个不同的字段中搜索几个关键字: curl -XGET 'localhost:9200/INDEXED_REPO/_search?pretty' -H 'Content-Type: application/json' -d'{"query" : {"constant_score" : {"filter" : {"bool" : {"should" : [{ "terms" : {"description" : ["heart","cancer"]}},{ "terms"

我可以使用下面的代码在两个不同的字段中搜索几个关键字:

curl -XGET 'localhost:9200/INDEXED_REPO/_search?pretty' -H 'Content-Type: 
application/json' -d'{"query" : {"constant_score" : {"filter" : {"bool" : 
{"should" : [{ "terms" : {"description" : ["heart","cancer"]}},{ "terms" : 
{"title" : ["heart","cancer"]}}]}}}}}'

然而,当我输入15000个关键词时,服务器突然关闭了我的终端。我正在使用Mobaxterm。包含这么多关键字的最佳解决方案是什么?

在bool查询中可以使用的子句的最大数量是有限制的。您可以更改它,但它会影响服务器的CPU使用率,并可能导致服务器崩溃。我想如果你没有收到max子句的错误,你可能已经使服务器崩溃了

我会找到一个最佳的数字,您的服务器可以采取,或者如果它是绝对必要的搜索所有这些一次升级服务器。设置额外节点并正确执行碎片/副本

要允许更多bool子句,请在elasticsearch.yml文件中添加以下内容

“index.query.bool.max_子句_count:n”
(其中n-新支持的子句数)

有关更多详细信息,请参阅这些


另外,脑波是Mobaxterm更好的替代品,您可以从这里下载。在代码中完成查询之前,它将提供一个很好的界面来处理查询。

在bool查询中可以使用的子句的最大数量是有限制的。您可以更改它,但它会影响服务器的CPU使用率,并可能导致服务器崩溃。我想如果你没有收到max子句的错误,你可能已经使服务器崩溃了

我会找到一个最佳的数字,您的服务器可以采取,或者如果它是绝对必要的搜索所有这些一次升级服务器。设置额外节点并正确执行碎片/副本

要允许更多bool子句,请在elasticsearch.yml文件中添加以下内容

“index.query.bool.max_子句_count:n”
(其中n-新支持的子句数)

有关更多详细信息,请参阅这些

另外,脑波是Mobaxterm更好的替代品,您可以从这里下载。在代码中完成查询之前,它将提供一个很好的界面来处理查询