在所有的多索引API中都支持以下URL查询参数:
ignore_unavailable
这个参数表示,当指定多个索引时,如果有索引不可用(不存在或者已经关闭)那么是否忽略该索引。true表示忽略,false表示不忽略,默默认为false。
例如如下请求表示查看索引bank和索引bank2中的文档(实际上bank2不存在):
curl -X GET “localhost:9200/bank,bank2/_search?q=*&sort=account_number:asc&pretty”
该请求执行结果如下:
可以看到,由于bank2这个索引不存在,因此执行失败,如果加上ignore_unavailable参数则可以执行成功,如下:
curl -X GET “localhost:9200/bank,bank2/_search?q=*&sort=account_number:asc&pretty&ignore_unavailable=true”
执行结果如下:
allownoindices
这个参数表示如果查询的时候使用了通配符,但是通配符没有匹配到任何索引,此时是否查询失败?该参数默认值为true,表示允许通配符匹配不到任何索引,例如如下请求:
curl -X GET “localhost:9200/bank3*/_search?q=*&pretty”
实际上,bank3索引是不存在的,但是该请求执行并未报错,如下: