本篇继续一下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_indexfalse来关闭覆盖功能。

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

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
}

Elasticsearch——禁止Body中的index覆盖Url中的index参数的更多相关文章

  1. Elasticsearch 禁止Body覆盖URL中的参数

    以通过设置参数rest.action.multi.allow_explicit_index为false来关闭覆盖功能. 这个设置会对所有的节点起作用,设置方法如下: 在config/elasticse ...

  2. apache使用.htaccess文件中RewriteRule重定向后,URL中的加号无法解析

    今天在使用.htaccess做伪静态的时候,发生一件怪事,URL里存在C++时会有问题,在处理C++这个词的时候,无论如何,$_GET都得不到++,只能得到C空格. 一开始我以为是没用urlencod ...

  3. 微信小程序:post请求参数放在请求体中还是拼接到URL中需要看后台是如何接收的

    前端发送post请求时,请求参数可以放在请求中,代码如下: function post(url, data, callback) { wx.request({ method: 'POST', url: ...

  4. JDBC中的DriverManager.getConnection(url)中的参数url

    1.Oracle8/8i/9i数据库(thin模式) Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); ...

  5. PHP中对淘宝URL中ID提取

    <?php $taobao = 'taobao.com'; $tmall = 'tmall.com'; $guojitmall = 'tmall.hk'; $juhuasuan = 'ju.ta ...

  6. url编码--url中含有空格问题

    开发web服务中,发现当url中含有空格时,会报 400 error: bad request sytanx,经分析,url中含有特殊字符时,服务端可能无法识别.如+,空格,/,?,%,#,& ...

  7. ThinkPHP 隐藏URL中的 index.php

    去掉 URL 中的 index.php 通常的URL里面含有index.php,为了达到更好的SEO效果可能需要去掉URL里面的index.php ,通过URL重写的方式可以达到这种效果,通常需要服务 ...

  8. [tp3.2.1]开启URL(重写模式),省略URL中的index.php

    重写模式(省略url中的index.php) 在apache配置文件httpd.conf中,查找 1.mod_rewrite.so, 启动此模块 2.AllowOverride , 值= All 3. ...

  9. 在nginx下去掉ci框架url中的index.php

    ci框架默认的url规则中带有应用的入口文件,例如: example.com/index.php/news/article/my_article 在以上URL中带有入口文件index.PHP,这样的U ...

随机推荐

  1. javascript Xml兼容性随笔

    一.前言 (function (window) { if (!window.jasen) { window.jasen = {}; } if (!window.jasen.core) { window ...

  2. 负载均衡的mariadb集群搭建

    集群介绍: Galera是一个MySQL(也支持MariaDB,Percona)的同步多主集群软件,目前只支持InnoDB引擎. 主要功能: 同步复制 真正的multi-master,即所有节点可以同 ...

  3. Linux系统中如何挂载第二块硬盘

    一.检测硬盘能否被识别 # fdisk -l Disk /dev/sda: 36.7 GB, 36703934464 bytes 255 heads, 63 sectors/track, 4462 c ...

  4. ENode 2.0 - 介绍一下关于ENode中对Command的调度设计

    CQRS架构,C端的职责是处理从上层发送过来的command.对于单台机器来说,我们如何尽快的处理command呢?本文想通过不断提问和回答的方式,把我的思考写出来. 首先,我们最容易想到的是使用多线 ...

  5. 作业2源程序版本管理软件优缺点,及Github注册

    目前流行的源程序管理软件和项目管理软件主要有以下一些: 1.Visual Source Safe 优点:如果开发工具是VS.NET,用VSS较合适,方便,安装配置和使用都简单,版本控制简单,打labe ...

  6. 【重要更新】Senparc.Weixin.Open v1.5.1

    本次更新调整了命名空间和文件位置,具体变化为(可以直接在源代码中替换): 旧命名空间(对应文件夹) 新命名空间(对应文件夹) Senparc.Weixin.Open.OAuth Senparc.Wei ...

  7. VC++中开发汇编语言(转)

    汇编程序结构 一个显示字符串的汇编程序 程序格式 一.模式定义 二.includelib语句 三.函数声明语句 四.数据和代码部分 Visual C/C++环境 建立工程 汇编程序的调试 一.设置断点 ...

  8. webservice 之 WSDL的解析

    先看一个wsdl, <?xml version="1.0" encoding="UTF-8" standalone="no"?> ...

  9. 锋利的JQuery —— 事件和动画

    大图猛戳

  10. 邮件开发——base64账号密码转换

    package com.hq.base64; import java.io.BufferedReader; import java.io.FileInputStream; import java.io ...