1.一种基于elasticsearch快速搭建搜索平台的方法,其特征在于:其步骤为:
(1)设定平台化搜索架构;
(2)基于平台化搜索架构设定关系型数据库和与关系型数据库匹配的数据转换中间件;
(3)设定elasticsearch服务平台,将数据转换中间件与elasticsearch服务平台数据对接;
(4)设定sql转dsl引擎模块,将sql转dsl引擎模块与elasticsearch服务平台数据对接;
(5)设定统一api层和业务层,通过统一api层将业务层与sql转dsl引擎模块之间进行数据对接;
所述的平台化搜索架构包括服务器和设置在服务器内的数据转换中间件、elasticsearch服务平台、sql转dsl引擎模块、统一api层和业务层,业务层为图形化界面操作模块,统一api层用于设置elasticsearch服务平台对外暴露的统一接口和分装elasticsearch服务平台的查询接口,数据转换中间件用于对关系型数据库的异构数据进行处理并同步到elasticsearch服务平台,sql转dsl引擎模块用于将外部的sql查询语言转换为dsl查询语言并输出到elasticsearch服务平台。
2.根据权利要求1所述的一种基于elasticsearch快速搭建搜索平台的方法,其特征在于:数据转换中间件的设置为在服务器内配置elasticsearch-jdbc工具,并在elasticsearch-jdbc工具中设置环境变量,然后在服务器中elasticsearch-jdbc工具的根目录下新建odbc_es文件夹,在该文件夹内新建mysql_import_es.sh脚本,然后为该脚本添加可执行权限,通过数据转换中间件完成关系型数据库与elasticsearch服务平台之间查询数据的同步。
3.根据权利要求1所述的一种基于elasticsearch快速搭建搜索平台的方法,其特征在于:elasticsearch服务平台为基于lucene构建的开源、分布式、restful搜索引擎,将该引擎嵌入服务器中。
4.根据权利要求1所述的一种基于elasticsearch快速搭建搜索平台的方法,其特征在于:sql转dsl引擎模块的设置为构造树形结构的boolquery模型,并在bool中嵌套must和should,即boolmust和boolshould,设定查询条件为and时采用boolmust,查询条件为or时采用boolshould,
设定query内部的第一个boolmust作为根节点,内部嵌套的查询条件和第二个boolmust作为第一个boolmust的两个子节点,第二个boolmust作为第三个boolmust的根节点,第二个boolmust内部嵌套的查询条件和第三个boolmust作为第二个boolmust的子节点。
5.根据权利要求1所述的一种基于elasticsearch快速搭建搜索平台的方法,其特征在于:统一api层的设置为基于promise设计调用fetchapi,
fetchapi配置为:
fetch(url)
.then(res=>res.json())
.then(console.log)
.catch(console.error)。
6.根据权利要求1所述的一种基于elasticsearch快速搭建搜索平台的方法,其特征在于:业务层包括图形化管理数据和图形化管理elasticsearch,图形化管理数据用于对关系型数据库的接入配置、以及数据表和elasticsearch字段数据映射配置,图形化管理elasticsearch用于对elasticsearch服务平台中的数据结构进行管理和对集群中的节点进行管理。
7.根据权利要求3所述的一种基于elasticsearch快速搭建搜索平台的方法,其特征在于:elasticsearch服务平台的elasticsearch引擎数量根据实际需求的关系型数据库的容量进行设定。