f08cffc0e8
- Add docs/ with VitePress site (19 pages): guide, config, architecture, FAQ - Add GitHub Actions workflow for auto-deploy to GitHub Pages - Replace music 'Add Tracks' upload picker with in-app audio file browser modal - Add music picker CSS styles with dark theme support - Add missing i18n keys (search_audio, no_audio_files, etc.) to all 14 locales - Optimize Dockerfile: shared base stage, COPY --chmod, consolidated RUN, HEALTHCHECK - Improve README: docs links, updated stats (222+ tests, 14 languages), feature status
1.2 KiB
1.2 KiB
Search
OxiCloud provides full-text search across your files with multiple filter options.
Endpoint
GET /api/search?q=report&type_filter=pdf,docx&recursive=true
Query Parameters
| Parameter | Description |
|---|---|
q |
Search query (matches file name) |
type_filter |
Comma-separated file extensions to filter by |
folder_id |
Restrict search to a specific folder |
recursive |
true to search subfolders |
date_from / date_to |
Filter by modification date |
size_min / size_max |
Filter by file size (bytes) |
limit |
Maximum results to return |
offset |
Pagination offset |
How It Works
OxiCloud stores file metadata in PostgreSQL with an ltree path column, enabling efficient recursive subtree queries:
SELECT * FROM storage.files
WHERE path <@ 'root.folder_id'
AND LOWER(name) LIKE '%query%'
AND LOWER(extension) = ANY('{pdf,docx}')
ORDER BY updated_at DESC
LIMIT 50;
Frontend
The web UI includes a search bar in the toolbar. Results appear instantly with file name, path, size, and type. Clicking a result navigates to the file's location.
Feature Flag
Search can be disabled via OXICLOUD_ENABLE_SEARCH=false.