弹性搜索索引最大结果窗口配置异常



当我将此配置添加到 ubuntu vm 中的/etc/elasticsearch/elasticsearch.yml时;

index.max_result_window: 1000000

在我重新启动 Elasticsearch 时在此配置之后,给我这个异常;

service elasticsearch status
● elasticsearch.service - Elasticsearch    Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; disabled; vendor preset: enabled)    Active: failed (Result: exit-code) since Pzt 2017-12-11 11:52:02 +03; 1s ago
Docs: http://www.elastic.co   Process: 17997 ExecStart=/usr/share/elasticsearch/bin/elasticsearch -p ${PID_DIR}/elasticsearch.pid --quiet -Edefault.path.logs=${L   Process: 17994 ExecStartPre=/usr/share/elasticsearch/bin/elasticsearch-systemd-pre-exec (code=exited, status=0/SUCCESS)  Main PID: 17997 (code=exited, status=1/FAILURE)
Ara 11 11:51:55 bilal-VirtualBox systemd[1]: Stopped Elasticsearch. Ara 11 11:51:55 bilal-VirtualBox systemd[1]: Starting Elasticsearch... Ara 11 11:51:55 bilal-VirtualBox systemd[1]: Started Elasticsearch. Ara 11 11:52:02 bilal-VirtualBox systemd[1]: elasticsearch.service: Main process exited, code=exited, status=1/FAILURE Ara 11 11:52:02 bilal-VirtualBox systemd[1]: elasticsearch.service: Unit entered failed state. Ara 11 11:52:02 bilal-VirtualBox systemd[1]: elasticsearch.service: Failed with result 'exit-code'.

这是elasticsearch 5.x中的预期行为。 不允许在节点级别配置上设置索引级别设置。

从文档中,

默认为 10,000 的 index.max_result_window 是一种保护措施, 搜索请求占用堆内存和时间,与 from + 大小成正比。

如果你检查 elasticsearch 日志,它会显示类似这样的内容,

在节点级别配置上找到索引级别设置。

由于 elasticsearch 5.x 索引级别设置无法在 节点配置,如系统属性中的 elasticsearch.yaml。 或命令行参数。为了升级所有索引 必须通过/${索引}/_settings API 更新设置。除非所有 设置是动态的,必须关闭所有索引才能应用 升级将来创建的索引应使用索引模板来 设置默认值。

溶液?

请确保通过执行以下命令在所有索引上更新所有必需的值:

curl -XPUT 'http://localhost:9200/_all/_settings?preserve_existing=true' -d '{
"index.max_result_window" : "1000"
}'

您可以使用索引模板。

相关内容

  • 没有找到相关文章

最新更新