diff options
author | happysalada <raphael@megzari.com> | 2021-09-21 14:57:06 +0900 |
---|---|---|
committer | Raphael Megzari <raphael@megzari.com> | 2021-09-25 21:45:52 +0900 |
commit | 0f9a1d70fad4af54a0d411b306427823476dcced (patch) | |
tree | cc4171782cf4298b3ba6c51a603b8f6ba7277be1 /nixos | |
parent | faef95930b1b52b93d8c98cdf5032fdcbfb93a3f (diff) |
meilisearch: add docs
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/services/search/meilisearch.md | 39 | ||||
-rw-r--r-- | nixos/modules/services/search/meilisearch.nix | 5 | ||||
-rw-r--r-- | nixos/modules/services/search/meilisearch.xml | 85 |
3 files changed, 128 insertions, 1 deletions
diff --git a/nixos/modules/services/search/meilisearch.md b/nixos/modules/services/search/meilisearch.md new file mode 100644 index 0000000000000..98e7c542cb9af --- /dev/null +++ b/nixos/modules/services/search/meilisearch.md @@ -0,0 +1,39 @@ +# Meilisearch {#module-services-meilisearch} + +Meilisearch is a lightweight, fast and powerful search engine. Think elastic search with a much smaller footprint. + +## Quickstart + +the minimum to start meilisearch is + +```nix +services.meilisearch.enable = true; +``` + +this will start the http server included with meilisearch on port 7700. + +test with `curl -X GET 'http://localhost:7700/health'` + +## Usage + +you first need to add documents to an index before you can search for documents. + +### Add a documents to the `movies` index + +`curl -X POST 'http://127.0.0.1:7700/indexes/movies/documents' --data '[{"id": "123", "title": "Superman"}, {"id": 234, "title": "Batman"}]'` + +### Search documents in the `movies` index + +`curl 'http://127.0.0.1:7700/indexes/movies/search' --data '{ "q": "botman" }'` (note the typo is intentional and there to demonstrate the typo tolerant capabilities) + +## Defaults + +- The default nixos package doesn't come with the [dashboard](https://docs.meilisearch.com/learn/getting_started/quick_start.html#search), since the dashboard features makes some assets downloads at compile time. + +- Anonimized Analytics sent to meilisearch are disabled by default. + +- Default deployment is development mode. It doesn't require a secret master key. All routes are not protected and accessible. + +## Missing + +- the snapshot feature is not yet configurable from the module, it's just a matter of adding the relevant environment variables. diff --git a/nixos/modules/services/search/meilisearch.nix b/nixos/modules/services/search/meilisearch.nix index 9ed1a0e9053e4..f6210f6f16e1d 100644 --- a/nixos/modules/services/search/meilisearch.nix +++ b/nixos/modules/services/search/meilisearch.nix @@ -8,7 +8,10 @@ let in { - meta.maintainers = with maintainers; [ Br1ght0ne ]; + meta.maintainers = with maintainers; [ Br1ght0ne happysalada ]; + # Don't edit the docbook xml directly, edit the md and generate it: + # `pandoc meilisearch.md -t docbook --top-level-division=chapter --extract-media=media -f markdown+smart > meilisearch.xml` + meta.doc = ./meilisearch.xml; ###### interface diff --git a/nixos/modules/services/search/meilisearch.xml b/nixos/modules/services/search/meilisearch.xml new file mode 100644 index 0000000000000..c1a73f358c288 --- /dev/null +++ b/nixos/modules/services/search/meilisearch.xml @@ -0,0 +1,85 @@ +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-meilisearch"> + <title>Meilisearch</title> + <para> + Meilisearch is a lightweight, fast and powerful search engine. Think + elastic search with a much smaller footprint. + </para> + <section xml:id="quickstart"> + <title>Quickstart</title> + <para> + the minimum to start meilisearch is + </para> + <programlisting language="bash"> +services.meilisearch.enable = true; +</programlisting> + <para> + this will start the http server included with meilisearch on port + 7700. + </para> + <para> + test with + <literal>curl -X GET 'http://localhost:7700/health'</literal> + </para> + </section> + <section xml:id="usage"> + <title>Usage</title> + <para> + you first need to add documents to an index before you can search + for documents. + </para> + <section xml:id="add-a-documents-to-the-movies-index"> + <title>Add a documents to the <literal>movies</literal> + index</title> + <para> + <literal>curl -X POST 'http://127.0.0.1:7700/indexes/movies/documents' --data '[{"id": "123", "title": "Superman"}, {"id": 234, "title": "Batman"}]'</literal> + </para> + </section> + <section xml:id="search-documents-in-the-movies-index"> + <title>Search documents in the <literal>movies</literal> + index</title> + <para> + <literal>curl 'http://127.0.0.1:7700/indexes/movies/search' --data '{ "q": "botman" }'</literal> + (note the typo is intentional and there to demonstrate the typo + tolerant capabilities) + </para> + </section> + </section> + <section xml:id="defaults"> + <title>Defaults</title> + <itemizedlist> + <listitem> + <para> + The default nixos package doesn’t come with the + <link xlink:href="https://docs.meilisearch.com/learn/getting_started/quick_start.html#search">dashboard</link>, + since the dashboard features makes some assets downloads at + compile time. + </para> + </listitem> + <listitem> + <para> + Anonimized Analytics sent to meilisearch are disabled by + default. + </para> + </listitem> + <listitem> + <para> + Default deployment is development mode. It doesn’t require a + secret master key. All routes are not protected and + accessible. + </para> + </listitem> + </itemizedlist> + </section> + <section xml:id="missing"> + <title>Missing</title> + <itemizedlist spacing="compact"> + <listitem> + <para> + the snapshot feature is not yet configurable from the module, + it’s just a matter of adding the relevant environment + variables. + </para> + </listitem> + </itemizedlist> + </section> +</chapter> |