表结构 CREATE TABLE dwd_mz_companyinformation_base
(
id
bigint NULL COMMENT 'id',
name
varchar(255) NULL COMMENT '公司名称',
type
varchar(255) NULL COMMENT '公司类型1、有限责任公司;2、股份有限公司;3、合伙企业;4、个人独资企业;5、农民专业合作社',
address
varchar(255) NULL COMMENT '公司地址',
company_profile
text NULL COMMENT '公司简介',
type_label
varchar(255) NULL COMMENT '公司类型',
code_label
varchar(255) NULL COMMENT '区划名称',
parent_code_label
varchar(255) NULL COMMENT '父区划名称',
last_update
datetime(6) NULL DEFAULT CURRENT_TIMESTAMP(6) COMMENT '最后更新时间',
INDEX inv3 (company_profile
) USING INVERTED PROPERTIES("support_phrase" = "true", "parser" = "chinese", "lower_case" = "true", "parser_mode" = "fine_grained") COMMENT '分词索引'
) ENGINE=OLAP
UNIQUE KEY(id
)
COMMENT '企业信息明细表'
DISTRIBUTED BY HASH(id
) BUCKETS AUTO
PROPERTIES (
"replication_allocation" = "tag.location.default: 3",
"min_load_replica_num" = "1",
);
想实现查询多字符串在name,address,company_profile 多个字段进行分词检索。
目前只能通过这个语句实现select name,address,company_profile from dwd_mz_companyinformation_base
where multi_match_any(concat(name,' ',address,' ',company_profile), [ '新能源汽车', '河北','补贴'] )
order by address。但是没有分词效果,假如输入“汽车新能源”就无法用到分词的效果了。