在laravel项目中对接了es搜索引擎,使用了一个三方封装包,按照指定格式传入es的查询条件即可; 有个字段查询需要用到类似mysql的in查询格式,spread字段查询范围为多个值,查询范围正常使用放在一个数组中即可,例如$spread=[11,22,33,44]; 但是由于结果集我使用数组函数处理了下,结果es提示错误:
打印数组看着好像格式没问题,最终发现数组被处理成了关联数组,但是es需要的是索引数组;
打印对比:
正确的格式:
分析原因应该是因为es是java写的,类型要求比较严格,查询范围为多个的时候,使用的数组应该是严格的索引以0开始的连续自增的索引数组;