feat(server)!: search via typesense (#1778)

* build: add typesense to docker

* feat(server): typesense search

* feat(web): search

* fix(web): show api error response message

* chore: search tests

* chore: regenerate open api

* fix: disable typesense on e2e

* fix: number properties for open api (dart)

* fix: e2e test

* fix: change lat/lng from floats to typesense geopoint

* dev: Add smartInfo relation to findAssetById to be able to query against it

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
This commit is contained in:
Jason Rasmussen 2023-03-02 21:47:08 -05:00 committed by GitHub
parent 1cc184ed10
commit 0aaeab124d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
87 changed files with 3638 additions and 77 deletions

View file

@ -11,6 +11,7 @@
import ImmichLogo from '../immich-logo.svelte';
export let user: UserResponseDto;
export let shouldShowUploadButton = true;
export let term = '';
let shouldShowAccountInfo = false;
@ -35,6 +36,10 @@
goto(data.redirectUri || '/auth/login?autoLaunch=0');
};
const onSearch = () => {
goto(`/search?q=${term}`);
};
</script>
<section
@ -52,12 +57,16 @@
IMMICH
</h1>
</a>
<div class="flex-1 ml-24">
<form class="flex-1 ml-24" autocomplete="off" on:submit|preventDefault={onSearch}>
<input
type="text"
name="search"
class="w-[50%] rounded-3xl bg-gray-200 dark:bg-immich-dark-gray px-8 py-4"
placeholder="Search - Coming soon"
placeholder="Search"
required
bind:value={term}
/>
</div>
</form>
<section class="flex gap-4 place-items-center">
<ThemeButton />