BSearch-QueryBuilder又称高级查询,是一个纯前端的工具插件。通过BSearch-QueryBuilder插件,您无需编写复杂的DSL语句,即可以可视化的方式完成复杂的查询请求。本文介绍如何使用BSearch-QueryBuilder插件查询数据。
前提条件
- 创建阿里云Elasticsearch实例,且实例版本为6.3或6.7。
具体操作,请参见创建阿里云Elasticsearch实例。本文以6.3版本为例。
- 安装BSearch-QueryBuilder插件。
具体操作,请参见安装Kibana插件。
- 准备待查询的索引数据。
具体操作,请参见快速开始。
背景信息
Query DSL是一个Java开源框架,用于构建安全类型的SQL查询语句,能够使用API代替传统的拼接字符串来构造查询语句。目前Query DSL支持的平台包括JPA、JDO、SQL、Java Collections、RDF、Lucene以及Hibernate Search。
Elasticsearch提供了一整套基于JSON的DSL查询语言来定义查询。Query DSL是由一系列抽象的查询表达式组成,特定查询能够包含其它的查询(如bool),部分查询能够包含过滤器(如constant_score),还有的可以同时包含查询和过滤器(如
filtered)。您可以从Elasticsearch支持的查询集合里面选择任意一个查询表达式,或者从过滤器集合里面选择任意一个过滤器进行组合,构造出复杂的查询。但编写DSL容易出错,仅有少数专业程序人员精通,QueryBuilder能够帮助对Elasticsearch
DSL不甚了解或者想提升编写效率的用户快速生成DSL。
BSearch-QueryBuilder插件具有如下特性:
- 简单易用:BSearch-QueryBuilder插件提供了可视化的界面点选操作来构造Elasticsearch的DSL查询请求,无编码即可完成自定义条件的数据查询,减少了复杂的DSL的学习成本。也可辅助开发人员编写或验证DSL语句的正确性。
- 方便快捷:已经定义的复杂查询条件会保存在Kibana中,避免重复构造查询条件。
- 小巧轻盈:约占用14MB的磁盘空间,不会常驻内存运行,不影响Kibana和Elasticsearch的正常运行。
- 安全可靠:BSearch-QueryBuilder插件不会对用户的数据进行改写、存储和转发,源代码已经通过了阿里云安全审计。
说明 仅6.3和6.7版本的阿里云Elasticsearch实例支持BSearch-QueryBuilder插件。