分享

elasticsearch 搜索模版传字符串数组参数

 昵称25754709 2015-05-28
1:在es1.5.0版本中,事先定义一个搜索模版
GET /index_hound/_search/template
{
  "template": {
    "_source": false,
    "from": 0,
    "size": 50,
    "query": {
      "filtered": {
        "query": {
          "bool": {
            "must": [
              {
                "nested": {
                  "path": "borrowerBasicInfoVo",
                  "query": {
                    "bool": {
                      "must": [
                        {
                          "terms": {
                            "borrowerBasicInfoVo.idNumber": [
                              "{{#idNumberTemp}}",
                              "{{.}}",
                              "{{/idNumberTemp}}"
                            ]
                          }
                        }
                      ]
                    }
                  }
                }
              }
            ]
          }
        }
      }
    }
  }
}
2:这里idNumberTemp作为参数,我们需要将一个数符串数组传进去,结果发现无法达到预期要求;于是我做了修改
现假设borrowerBasicInfoVo不是一个nested类型的
GET /index_hound/_search/template
{
  "template": {
    "_source": false,
    "from": 0,
    "size": 50,
    "query": {
      "filtered": {
        "query": {
          "bool": {
            "must": [
              {
                "terms": {
                  "borrowerBasicInfoVo.idNumber": [
                    "{{#idNumberTemp}}",
                    "{{.}}",
                    "{{/idNumberTemp}}"
                  ]
                }
              }
            ]
          }
        }
      }
    }
  }
}
这时如果传入一个字符串数组发现符合预期;
结论:elasticsearch1.5.0及其以下版本并不支持对nested类型的object传数组参数。
3:1.5.2版本发布,尝试使用此版本看是否解决问题,结果发现1.5.2版本支持。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多