[FR] 搜索功能增强
Closed this issue · 2 comments
ccddos commented
问题描述
当前的搜索逻辑如下,直接从当前打开的文件夹下进行 字符串匹配
Line 78 in cacfd72
这种模式下对文件夹很多的onedrive不太友好,尤其是路径很深的时候
比如 /xx/xx/xxx/xxx/xxx ,得点很多下
增强建议
具体api可以参考官方文档
参考文档 (来自gemini)
OneDrive 提供了多个 API 用于搜索文件,主要包括以下两种:
- DriveItem Search API:
- 适用范围: 用于搜索当前用户在 OneDrive 中可以访问的所有项目,包括自己拥有的文件和与自己共享的文件。
- 文档地址: https://learn.microsoft.com/zh-cn/onedrive/developer/rest-api/api/driveitem_search?view=odsp-graph-online
- 主要功能:
- 支持全文搜索,可以搜索文件内容、文件名和元数据。
- 提供筛选功能,可以按文件类型、修改日期等条件筛选搜索结果。
- 支持分页查询,可以分批获取大量搜索结果。
- 请求方式: GET
- 请求地址示例:
GET /me/drive/search(q='keyword')
- Microsoft Search API:
- 适用范围: 用于在 OneDrive 和 SharePoint 中进行更广泛的搜索,可以搜索文件、列表项、网站等内容。
- 文档地址: https://learn.microsoft.com/zh-cn/graph/search-concept-files
- 主要功能:
- 支持全文搜索,可以搜索文件内容、文件名、元数据等。
- 提供丰富的筛选和排序功能,可以按文件类型、修改日期、相关性等条件筛选和排序搜索结果。
- 支持自定义搜索范围,可以指定搜索特定的网站、列表或库。
- 请求方式: POST
- 请求地址示例:
POST /search/query
选择合适的 API:
- 如果只需要在 OneDrive 中搜索文件,可以使用 DriveItem Search API。
- 如果需要在 OneDrive 和 SharePoint 中进行更复杂的搜索,或者需要搜索文件以外的其他内容,可以使用 Microsoft Search API。
注意事项:
- 使用 OneDrive API 需要进行身份验证,获取访问令牌。
- 具体使用方法请参考官方文档,文档中提供了详细的说明和示例代码。
希望这些信息能帮助你找到合适的 OneDrive 搜索 API 并顺利使用。
ccddos commented
测试了下,桌面端和移动端都符合需求
感谢作者🙏