1. 搜索条件配置

1.1 条件配置基本格式

# 以文本输入类型的条件配置做示例
{
    "name": "entName",
    "label": "企业名称",
    "cr": {
        "hidden": false,
        "options": [
            {
                "value": "IN",
                "label": "包含任一"
            },
            {
                "value": "NOT_IN",
                "label": "都不包含"
            }
        ],
        "defaultValue": "IN"
    },
    "cv": {
        "type": "itemInput",
        "options": [],
        "defaultValue": "",
        "placeholder": "关键词不超过100个,单个词不超过15个字",
        "constraint": {
            "countMax": 100,
            "lengthMax": 15
        }
    },
    "path": null,
    "nestedName": null
}

1.2 条件具体配置字段说明:

字段 类型 说明
name string 条件名称(唯一键)
label string 条件名称(标签展示名)
cr map ConditionRelation,搜索条件的关系配置
cv map ConditionValue,搜索条件的筛选值配置
path string 对应附加查询类字段的前缀path(详见下方’特殊,附加查询条件’的文档)
nestedName string 对应附加查询类字段的嵌套名称(详见下方’特殊,附加查询条件’的文档)

1.3 cr(搜索条件的关系配置)字段说明:

字段 类型 说明
hidden bool 标识搜索条件关系是否可隐藏
options array 搜索条件关系的下拉选项
options[].value string 关系选项值(用于构造搜索条件时传值)
options[].label string 关系选项展示值
defaultValue string 默认选中的关系选项

1.4 cv(搜索条件的筛选值配置)字段说明:

字段 类型 说明
type string 筛选值的类型
options array 筛选值的下拉选项(单选、多选等类型的筛选值需用到)
options[].value string 下拉选项code值(用于构造搜索条件时传值)
options[].label string 下拉选项展示值
levelConfig map 多级筛选项的级联配置
levelConfig.levels array 级联配置
levelConfig.levels[].name string 层级名称(用于构造搜索条件时传值)
levelConfig.levels[].title string 层级展示名称
defaultValue string 默认值(单选、多选等类型的默认选中选项code值)
placeholder string 文本输入框的占位填充文本(文本输入类型的筛选值需用到)
constraint map 条件值补充的约束信息
constraint.countMax int 限制最大个数(例如文本输入类型,限制最多可输入多少个关键词)
constraint.lengthMax int 限制最大长度(例如文本输入类型,限制每个关键词最长是多少个字符)
constraint.valueMax int 限制最大值(例如数值类型的过滤,限制最大可输入数值)
constraint.valueMin int 限制最小值(例如数值类型的过滤,限制最小可输入数值)
constraint.enableSelectAfter boolean 时间类型,是否允许筛选未来的时间(例如‘成立时间’,不允许筛选未来的时间)

1.5 搜索条件类型(筛选值类型)说明

类型名(cv.type) 说明 相关条件
itemInput 文本条目输入框 企业名称、历史名称…
select 单选下拉框 有无手机、是否为一般纳税人…
multiSelect 多选下拉框 营业状态、税务资质类型…
date 时间段选择器 注销时间…
dateRangeMultiSelect 特殊,时间段选择+时间下拉快捷选择 成立时间
number 数值范围选择器 股东人数、年报-营业总收入…
mapped 多层级的下拉框 所属行业、主要市场…
area 特殊,地区选择器 通讯地址地区、注册地址地区…
contactSiteSource 特殊,来源站点选择器 联系方式渠道、手机号渠道
geoLocation 特殊,经纬度查询 工商企业经纬度地址

2. 搜索条件传参说明

2.1 搜索条件传参基本格式示例

{
    "cn": "composite",
    "cr": "MUST",
    "cv": [
        {
            "cn": "esDate",
            "cr": "IN",
            "cv": [
                "1740758400000-1743523199999"
            ]
        },
        {
            "cn": "composite",
            "cr": "MUST",
            "cv": [
                {
                    "cn": "entName",
                    "cr": "IN",
                    "cv": [
                        "科技公司"
                    ]
                },
                {
                    "cn": "compositeNested",
                    "cr": "MUST",
                    "path": "recruitment",
                    "cv": [
                        {
                            "cn": "recruitPlatform",
                            "cr": "IN",
                            "cv": [
                                "53",
                                "12"
                            ],
                            "nn": "recruitment.platform"
                        },
                        {
                            "cn": "jobName",
                            "cv": [
                                "开发"
                            ],
                            "cr": "IN",
                            "id": 1745573521015,
                            "nn": "recruitment.jobName"
                        }
                    ]
                }
            ]
        }
    ]
}

2.2 搜索条件传参数据结构说明

一个条件/条件组, 固定需要传3个字段
key 说明
cn ConditionName,条件的名称
cr ConditionRelation,条件筛选关系
cv ConditionValue,条件的筛选值
普通过滤条件和条件组

搜索条件分为普通过滤条件、条件组条件、附加查询条件(嵌套条件查询)

  • 普通过滤条件
    {
      "cn": "entName",
      "cr": "IN",
      "cv": [
          "科技公司"
      ]
    }
  • 条件组条件
    // cn: 为固定值 'composite', 表示是条件组条件,条件组条件是一种特殊的搜索条件
    // cr: 条件组条件的cr可选值有且只有两个:**`MUST`** (满足全部), **`SHOULD`** (满足任一)
    // cv: 条件组条件的cv数组是其需满足的条件,可以是普通过滤条件,也可以是条件组条件
    {
      "cn": "composite",
      "cr": "MUST",
      "cv": []
    }
  • 特殊,附加查询条件
    // cn: 为固定值 'compositeNested', 表示是附加查询条件,附加查询条件是一种特殊的搜索条件
    // cr: 附加查询条件的cr需为固定值 **'MUST'**, 示例中附加查询条件对应的条件含义是:【搜索满足以下条件的'企业': 其 至少存在一个招聘信息是同时满足所选的招聘平台条件和招聘职位条件的】
    // path: 附加查询类字段的前缀path,对应搜索条件配置中的 path 字段,当且仅当两个普通过滤条件的配置的 path 字段是一致的,才可以互为附加条件
    // cv: 条件组条件的cv数组是其需满足的条件, 必须为普通过滤条件, 且需要多传一个 nn 字段(附加查询类字段的嵌套名称), 对应的是搜索条件配置中 nestedName 字段
    {
      "cn": "compositeNested",
      "cr": "MUST",
      "path": "recruitment",
      "cv": [
          {
              "cn": "recruitPlatform",
              "cr": "IN",
              "cv": [
                  "53",
                  "12"
              ],
              "nn": "recruitment.platform"
          },
          {
              "cn": "jobName",
              "cv": [
                  "开发"
              ],
              "cr": "IN",
              "id": 1745573521015,
              "nn": "recruitment.jobName"
          }
      ]
    }

3. 各类搜索条件配置和搜索传参示例

3.1 文本条目输入框(itemInput)

{
    "name": "entName",
    "label": "企业名称",
    "cr": {
        "hidden": false,
        "options": [
            {
                "value": "IN",
                "label": "包含任一"
            },
            {
                "value": "NOT_IN",
                "label": "都不包含"
            }
        ],
        "defaultValue": "IN"
    },
    "cv": {
        "type": "itemInput",
        "options": [],
        "defaultValue": "",
        "placeholder": "关键词不超过100个,单个词不超过15个字",
        "constraint": {
            "countMax": 100,
            "lengthMax": 15
        }
    },
    "esFieldType": "Text",
    "isNew": false,
    "esFieldName": "entName",
    "associateWord": "entName"
}

搜索传参:

{
    "cn": "entName",
    "cr": "IN",
    "cv": [
        "腾讯科技",
        "华为技术"
    ]
}

3.2 单选下拉框(select)

{
    "name": "hasMobile",
    "label": "有无手机",
    "cr": {
        "hidden": true,
        "defaultValue": "IS",
        "options": []
    },
    "cv": {
        "type": "select",
        "options": [
            {
                "value": true,
                "label": "有"
            },
            {
                "value": false,
                "label": "无"
            }
        ],
        "placeholder": "",
        "defaultValue": true,
        "constraint": {
            "countMax": null,
            "lengthMax": null
        }
    },
    "esFieldType": "Boolean",
    "isNew": false,
    "esFieldName": "hasMobile"
}

搜索传参:

{
    "cn": "hasMobile",
    "cr": "IS",
    "cv": true
}

3.3 多选下拉框(multiSelect)

{
    "name": "taxCertType",
    "label": "税务资质类型",
    "cr": {
        "hidden": false,
        "defaultValue": "IN",
        "options": [
            {
                "value": "IN",
                "label": "包含任一"
            },
            {
                "value": "NOT_IN",
                "label": "都不包含"
            }
        ]
    },
    "cv": {
        "type": "multiSelect",
        "options": [
            {
                "value": "1",
                "label": "一般纳税人"
            },
            {
                "value": "2",
                "label": "增值税一般纳税人"
            },
            {
                "value": "4",
                "label": "小规模纳税人"
            },
            {
                "value": "5",
                "label": "一般纳税人转登记小规模纳税人"
            },
            {
                "value": "6",
                "label": "简易办法征收一般纳税人"
            },
            {
                "value": "7",
                "label": "辅导期增值税一般纳税人"
            },
            {
                "value": "3",
                "label": "按征收率征收增值税小规模纳税人"
            },
            {
                "value": "8",
                "label": "按适用税率征收增值税小规模纳税人"
            }
        ],
        "placeholder": "请选择",
        "defaultValue": "",
        "constraint": {
            "countMax": null,
            "lengthMax": null
        }
    },
    "esFieldType": "Keyword",
    "isNew": false,
    "esFieldName": "taxCertType",
    "enableOptionsSearch": true
}

搜索传参:

{
    "cn": "taxCertType",
    "cr": "IN",
    "cv": [
        "1",
        "2"
    ]
}

3.4 时间选择器(date)

{
    "name": "logoutTime",
    "label": "注销时间",
    "cr": {
        "hidden": true,
        "defaultValue": "BETWEEN",
        "options": []
    },
    "cv": {
        "type": "date",
        "options": [],
        "placeholder": "请选择时间",
        "defaultValue": "",
        "constraint": {
            "countMax": null,
            "lengthMax": null
        }
    },
    "esFieldType": "Date",
    "isNew": true,
    "esFieldName": "logoutTime"
}

搜索传参:

{
    "cn": "logoutTime",
    "cr": "BETWEEN",
    "cv": [
        "1740758400000-1743523199999"
    ]
}

3.5 特殊,时间段选择+时间下拉快捷选择(dateRangeMultiSelect)

{
    "name": "esDate",
    "label": "成立时间",
    "cr": {
        "hidden": false,
        "defaultValue": "IN",
        "options": [
            {
                "value": "IN",
                "label": "包含任一"
            },
            {
                "value": "NOT_IN",
                "label": "都不包含"
            }
        ]
    },
    "cv": {
        "type": "dateRangeMultiSelect",
        "options": [
            {
                "value": "1",
                "label": "1年以内"
            },
            {
                "value": "2",
                "label": "1-5年"
            },
            {
                "value": "3",
                "label": "5-10年"
            },
            {
                "value": "4",
                "label": "10-15年"
            },
            {
                "value": "5",
                "label": "15年以上"
            }
        ],
        "customize": {
            "type": "date",
            "options": [],
            "placeholder": "",
            "defaultValue": "",
            "unit": "",
            "constraint": {
                "countMax": null,
                "lengthMax": null,
                "enableSelectAfter": false
            }
        },
        "placeholder": "开始时间~结束时间",
        "defaultValue": "",
        "unit": "",
        "constraint": {}
    },
    "esFieldType": "Long",
    "isNew": false,
    "esFieldName": "esDate"
}

搜索传参:

{
    "cn": "esDate",
    "cr": "IN",
    "cv": [
        "2",
        "3"
    ]
}

搜索传参:

{
    "cn": "esDate",
    "cr": "IN",
    "cv": [
        "1740758400000-1743523199999"
    ]
}

3.6 数值范围选择器(number)

{
    "name": "shareholderCount",
    "label": "股东人数",
    "cr": {
        "hidden": true,
        "defaultValue": "BETWEEN",
        "options": []
    },
    "cv": {
        "type": "number",
        "options": [],
        "placeholder": "",
        "defaultValue": "",
        "unit": "个",
        "constraint": {
            "countMax": null,
            "lengthMax": null,
            "valueMax": 99999999,
            "valueMin": 0
        }
    },
    "esFieldType": "Integer",
    "isNew": false,
    "esFieldName": "shareholderCount"
}

搜索传参:

{
    "cn": "shareholderCount",
    "cr": "BETWEEN",
    "cv": [
        "0,10"
    ]
}

3.7 多层级的下拉框(mapped)

{
    "name": "industry",
    "label": "所属行业",
    "cr": {
        "hidden": false,
        "options": [
            {
                "value": "IN",
                "label": "包含任一"
            },
            {
                "value": "NOT_IN",
                "label": "都不包含"
            }
        ],
        "defaultValue": "IN"
    },
    "cv": {
        "type": "mapped",
        "options": [],
        "levelConfig": {
            "showAll": true,
            "levels": [
                {
                    "name": "firstIndustry",
                    "title": "一级行业"
                },
                {
                    "name": "secondIndustry",
                    "title": "二级行业"
                },
                {
                    "name": "thirdIndustry",
                    "title": "三级级行业"
                },
                {
                    "name": "fourthIndustry",
                    "title": "四级行业"
                }
            ]
        },
        "defaultValue": "",
        "placeholder": "请选择",
        "constraint": {
            "countMax": null,
            "lengthMax": null
        }
    },
    "esFieldType": "Keyword",
    "isNew": false,
    "esFieldName": "industry"
}

搜索传参:

{
    "cn": "industry",
    "cr": "IN",
    "cv": {
        "firstIndustry": [
            "B"
        ],
        "secondIndustry": [
            "16"
        ],
        "thirdIndustry": [
            "175"
        ],
        "fourthIndustry": []
    }
}

3.8 特殊,地区选择器(area)

{
    "name": "area",
    "label": "通讯地址地区",
    "cr": {
        "hidden": false,
        "options": [
            {
                "value": "IN",
                "label": "包含任一"
            },
            {
                "value": "NOT_IN",
                "label": "都不包含"
            }
        ],
        "defaultValue": "IN"
    },
    "cv": {
        "type": "area",
        "options": [],
        "levelConfig": {
            "showAll": true,
            "levels": [
                {
                    "name": "province",
                    "title": "省"
                },
                {
                    "name": "city",
                    "title": "市"
                },
                {
                    "name": "district",
                    "title": "区"
                }
            ]
        },
        "defaultValue": "",
        "placeholder": "请选择",
        "constraint": {
            "countMax": null,
            "lengthMax": null
        }
    },
    "esFieldType": "Keyword",
    "isNew": false,
    "esFieldName": "area"
}

搜索传参:

{
    "cn": "area",
    "cr": "IN",
    "cv": {
        "province": [
            "11"
        ],
        "city": [],
        "district": [
            "350104"
        ]
    }
}

3.9 特殊,来源站点选择器(contactSiteSource)

{
    "name": "mobileSource",
    "label": "手机号渠道",
    "cr": {
        "hidden": false,
        "defaultValue": "IN",
        "options": [
            {
                "value": "IN",
                "label": "包含任一"
            },
            {
                "value": "NOT_IN",
                "label": "都不包含"
            }
        ]
    },
    "cv": {
        "type": "contactSiteSource",
        "options": [],
        "levelConfig": {
            "showAll": true,
            "levels": [
                {
                    "name": "firstMobileSource",
                    "title": "一级分类"
                },
                {
                    "name": "mobileSource",
                    "title": "二级分类"
                }
            ]
        },
        "defaultValue": "",
        "placeholder": "请选择",
        "constraint": {
            "countMax": null,
            "lengthMax": null
        }
    },
    "esFieldType": "Keyword",
    "isNew": false,
    "esFieldName": "mobileSource",
    "enableOptionsSearch": true
}

搜索传参:

{
    "cn": "mobileSource",
    "cr": "IN",
    "cv": {
        "firstMobileSource": [
            "B"
        ],
        "mobileSource": [
            "2",
            "5"
        ]
    }
}

3.10 特殊,经纬度查询(geo)

{
    "cr": {
        "hidden": false,
        "options": [
            {
                "value": "IN",
                "label": "包含任一"
            }
        ],
        "defaultValue": "IN"
    },
    "cv": {
        "type": "geo",
        "options": [],
        "levelConfig": null,
        "defaultValue": "",
        "placeholder": "请选择",
        "constraint": {
            "countMax": null,
            "lengthMax": null
        }
    },
    "esFieldName": "geoLocation",
    "esFieldType": "Keyword",
    "isNew": true,
    "label": "工商企业经纬度地址",
    "name": "geoLocation"
}

搜索传参:

{
    "cn": "geoLocation",
    "cr": "IN",
    "cv": {
        // center是中心点的经纬度坐标,使用逗号隔开
        "center": "30.600619,104.143508",
        // radius是半径
        "radius": "2",
        // unit是指半径的距离单位,不传的话则为km
        "unit": "km"
    }
}

文档更新时间: 2025-04-28 16:35   作者:李星亮