Elasticsearch——禁止Body中的index覆盖Url中的index参数

简介:

本篇继续一下Elasticsearch日常使用的技巧翻译。

在Elasticsearch有很多的api支持在body中指定_index等信息,比如mget或者msearch以及bulk。

默认的情况下,body中的index会覆盖掉url中的index参数。比如:

$ curl localhost:9200/test/_mget?pretty -d '{"docs":[{"_index":"test1","_id":1},{"_index":"test2","_id":2}]}'
{
  "docs" : [ {
    "_index" : "test1",
    "_type" : "tet",
    "_id" : "1",
    "_version" : 2,
    "found" : true,
    "_source":{"name":"1"}
  }, {
    "_index" : "test2",
    "_type" : null,
    "_id" : "2",
    "found" : false
  } ]
}

虽说在url中指定了index为test,但是执行到每个文档时,仍然会按照body里面的内容为准。

此时可以通过设置参数rest.action.multi.allow_explicit_index为false来关闭覆盖功能。

这个设置会对所有的节点起作用,设置方法如下:

在config/elasticsearch.yml中添加:

rest.action.multi.allow_explicit_index: false

然后重启Elasticsearch,再次执行就会发现,服务器已经提示拒绝。

$ curl localhost:9200/test/_mget?pretty -d '{"docs":[{"_index":"test1","_id":1},{"_index":"test2","_id":2}]}'
{
  "error" : "ElasticsearchIllegalArgumentException[explicit index in multi get is not allowed]",
  "status" : 400
}
本文转自博客园xingoo的博客,原文链接:Elasticsearch——禁止Body中的index覆盖Url中的index参数,如需转载请自行联系原博主。
相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
存储 API 数据库
检索服务elasticsearch索引(Index)
【8月更文挑战第23天】
1914 6
|
前端开发 JavaScript
前端JS截取url上的参数
文章介绍了两种前端JS获取URL参数的方法:手动截取封装和使用URLSearchParams。
752 0
|
存储
Elasticsearch exception [type=cluster_block_exception, reason=blocked by: [FORBIDDEN/12/index r【已解决】
Elasticsearch exception [type=cluster_block_exception, reason=blocked by: [FORBIDDEN/12/index r【已解决】
626 1
|
存储 JavaScript 前端开发
js原生方法,获取url上面所有参数,并返回一个对象
JavaScript函数`getUrlParameters`用于从URL中提取所有参数并返回一个键值对对象。它接收URL,分割查询字符串,解码参数对,并存储在对象中。重复参数键会被存储为数组。
|
开发框架 前端开发 .NET
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
456 0
|
JavaScript
js如何实现修改URL参数并不刷新页面
js如何实现修改URL参数并不刷新页面
|
Java
JAVA 获取 URL 指定参数的值
JAVA 获取 URL 指定参数的值
360 0
|
安全 Java 应用服务中间件
当遇到非法 URL 参数时,如何保障网页正常打开
访问如`http://example.com?a@b=1`的链接出现400 Bad Request错误,这是因为Tomcat不允许请求目标中含有非法字符。Spring Boot 2可通过配置`server.tomcat.relaxed-query-chars`来允许特殊字符,但这样做可能引入安全风险。因此,建议在Nginx层使用`rewrite_by_lua_block`和`ngx.redirect`进行重定向,将非法字符替换为合法形式,如`http://example.com?ab=1`,同时记录日志以监控。此方案能避免直接修改后端代码,提高安全性。
1189 0
|
存储 小程序
【边做边学】uni.switchTab的目标页面获取不到url携的参数
【边做边学】uni.switchTab的目标页面获取不到url携的参数
1062 1
|
JavaScript 前端开发 数据格式
URL编码【详解】——Javascript对URL进行编码解码的三种方式的区别和使用场景,axios请求拦截器中对get请求的参数全部进行URL编码
URL编码【详解】——Javascript对URL进行编码解码的三种方式的区别和使用场景,axios请求拦截器中对get请求的参数全部进行URL编码
1534 0

热门文章

最新文章