内容协作平台-文件搜索介绍

简介: 详细文当见官网:https://help.aliyun.com/product/125177.html > 用户可以通过/file/search接口搜索自己drive下的文件 > query规则说明: 1. 支持的数据类型: a. 基本类型:long、string、bool、double b. 复合类型:array,date(时间类型,ISO时间: "20

详细文当见官网:https://help.aliyun.com/product/125177.html

用户可以通过/file/search接口搜索自己drive下的文件

query规则说明:

  1. 支持的数据类型:

    1. 基本类型:long、string、bool、double
    2. 复合类型:array,date(时间类型,ISO时间: "2019-08-13T06:19:22.870Z")
  2. 基本类型支持的搜索:

    1. long: =, <, >, <=, >=
    2. string: = (精确搜索), prefix(前缀搜索), match(模糊搜索,只有name字段支持)
    3. bool: =
    4. double: =, <, >, <=, >=
  3. 复合类型支持的搜索:

    1. array: in (多条件的=)
    2. date: =, <, >, <=, >=
  4. 逻辑操作支持:not、and、or
  5. 支持括号,优先级为: “括号 > not > and > or”

query举例:

  1. 精确查询。
// 查询文件名为 “汇报材料.ppt” 的文件
name = "汇报材料.ppt"
  1. 范围查询
查询2019年1月14日前创建的文件
created_at < "2019-01-14T00:00:00"
  1. 模糊匹配
// 查询文件名包含 “汇报” 的文件
name match "汇报"
  1. 逻辑组合查询
// 查询2019年1月14号创建的文件
created_at > "2019-01-14T00:00:00" and created_at < "2019-01-15T00:00:00"
  1. 复杂逻辑查询
// 查询文件size大于1024并且hidden为false并且file_extension不等于“mp4”的文件
size > 1024 and hidden = false and not file_extension = 'mp4'
  1. 数组查询
// 查询后缀名为jpg、png或者gif的文件
file_extension in ["jpg", "png", "gif"]
  1. 前缀查询
// 查询文件名为“项目1”开头的文件
name prefix "项目1"

order_by规则:

  • ASC代表正序,DESC代表逆序
  • 语法为 字段名 + 空格 + ASC/DESC
  • 如果多个字段排序则需要用逗号隔开
  • 前面的规则优先级高

order_by举例:

  1. 单个规则正序
// 按名称正序
name ASC
  1. 单个规则逆序
// 按创建时间逆序
created_at DESC
  1. 多个排序规则
// 先按创建时间逆序,如果创建时间相同,则按名称正序
created_at DESC, name ASC

支持搜索和排序的字段

| 字段名 | 类型 | 可搜索 | 可排序 | 描述 |
| --- | --- | --- | --- | --- |
| parent_file_id | STRING | ✔️ | -- | 固定目录搜索,只搜索一级 |
| name | STRING | ✔️ | ✔️ | 文件名(模糊分词),可模糊搜索 |
| type | STRING | ✔️ | ✔️ | 文件类型file、folder |
| file_extension | STRING | ✔️ | -- | 文件后缀名 |
| description | STRING | ✔️ | -- | 描述(single_word分词),可短语匹配 |
| mime_type | STRING | ✔️ | -- | 文件mimeType搜索 |
| starred | BOOL | ✔️ | -- | 是否收藏 |
| created_at | DATE | ✔️ | ✔️ | 创建时间 |
| updated_at | DATE | ✔️ | ✔️ | 修改时间 |
| status | STRING | ✔️ | -- | 文件状态 |
| trashed | BOOL | ✔️ | -- | 是否移入回收站 |
| explicitly_trashed | BOOL | ✔️ | -- | 是否显式移入回收站 |
| hidden | BOOL | ✔️ | --| 是否隐藏文件 |
| size | LONG | ✔️ | ✔️| 文件大小 |
| image_time | DATE | ✔️ | ✔️ | 照片拍摄时间 |
| label | STRING | ✔️ | -- | 系统标签名称 |
| category | STRING | ✔️ | -- | 文件类型,image、video、doc、audio、app、others |

  • LONG: 长整型(int64)
  • BOOL: 布尔类型
  • DATE: 时间类型,用双引号或单引号括起来,与字符串类型一致。格式"2006-01-02T00:00:00",默认零时区。
  • STRING: 字符串类型

实现介绍,基于antlr4实现

查看语法树

# 第一步,生成java版的解析器
antlr SearchParser.g4
# 第二步,生成可执行文件
javac SearchParser*.java 
# 第三步,生成语法树
grun SearchParser start -gui
这里输入待解析的字符串,ctrl+D 结束
# 如果javac出错执行
cd /usr/local/lib
$ sudo curl -O https://www.antlr.org/download/antlr-4.7.2-complete.jar
export CLASSPATH=".:/usr/local/lib/antlr-4.7.2-complete.jar:$CLASSPATH"
# 参考 https://www.antlr.org/

效果:
image.png

Goland查看语法树插件
在需要测试的语法上点右键, 选择Test Rule xxx

效果如下:

image.png

生成Go语言的Visitor模式

 antlr -no-listener -visitor -Dlanguage=Go -package grammar SearchParser.g4
 # -package grammar表示生成的代码的包名为grammar
目录
相关文章
|
4月前
|
安全 Linux Android开发
自动化脚本之文件搜索显示
自动化脚本之文件搜索显示
30 0
|
1月前
|
存储 文件存储
4、文件基础操作和缩放工具与抓手工具的使用
这篇文章介绍了Photoshop中的基础操作,包括如何将多张图片放入一个窗口、设置文件自动保存、文件存储选项,以及缩放工具和抓手工具的使用方法,提供了多种图片放大和缩小的快捷操作技巧。
4、文件基础操作和缩放工具与抓手工具的使用
|
3月前
|
移动开发 JavaScript 前端开发
必知的技术知识:JqueryMedia插件使用,解决在线预览及打开PDF文件
必知的技术知识:JqueryMedia插件使用,解决在线预览及打开PDF文件
|
4月前
CRM软件推荐2024:五款顶级产品解析,助您找到最佳选项!
2024年,随着民营经济发展,CRM软件成为企业增长的关键。本文推荐了五款高好评CRM:1) Zoho CRM,以其易用性和性价比受青睐;2) Zoho Bigin,轻量级选项适合小微企业;3) Salesforce,CRM巨头,但国内售后不足;4) Hubspot,提供免费版,付费版价格较高;5) Pipedrive,专注小型团队。企业在选择时应考虑试用体验和服务质量。
102 6
|
10月前
|
安全 关系型数据库 MySQL
客户搜索的结果如何以CSV 文件下栽?
如何做到普通客户搜索的结果以CSV文件下载?目前 阿里云的RDS 禁止使用 select * from table into outfile 语句
|
Linux
高效浏览文件内容:探索Linux命令`less`
在日常Linux系统管理和开发工作中,我们常常需要查看文件的内容。当涉及大文件或长文本时,使用`more`命令可能会受到限制,这时就可以依靠`less`命令。`less`是一个功能强大的文件浏览器,它不仅可以逐页显示文件,还提供了搜索、跳转等功能,使文件浏览变得更加高效和便捷。本文将深入探讨`less`命令的特点、用法和一些技巧。
139 0
|
Linux 数据安全/隐私保护 iOS开发
WPS文档导出图片要充钱?这个软件让你不花冤枉钱。
WPS文档导出图片要充钱?这个软件让你不花冤枉钱。
|
机器学习/深度学习 运维 Linux
linux运维打包压缩与搜索命令
打包压缩与搜索命令linux运维学习
169 1
|
搜索推荐 数据库 索引
全盘文件搜索利器!秒出结果~
全盘文件搜索利器!秒出结果~
242 0
全盘文件搜索利器!秒出结果~
|
JSON 数据处理 数据安全/隐私保护
百宝箱,这款小工具能够覆盖95%的文件处理功能!
在日常工作和学习过程中,经常要和大量的文件处理打交道。 PDF、Word、Excel、TxT、图片....需要频繁的对这些文件进行转换、编辑、批量处理等操作。
百宝箱,这款小工具能够覆盖95%的文件处理功能!