Päiväkirjan hakemistoDockup / kenttämuistio
Note / self-host-meilisearch

Meilisearchin itsehostaus vuonna 2026: pääavaimet, indeksit ja dumpit

Hostaa Meilisearch itse oikeilla porteilla, pysyvällä tallennustilalla, HTTPS:llä, salaisuuksilla, varmuuskopioilla ja päivitystarkistuksilla. Opi korjaamaan tilanne, jossa MEILI_ENV pysyy development-tilassa.

Meilisearchin itsehostaus muuttuu kiinnostavaksi ensimmäisen uudelleenasennuksen yhteydessä, ei ensimmäisen docker run -komennon aikana. Jos MEILI_ENV pysyy development-tilassa tai data-levy katoaa uudelleenasennuksen yhteydessä, Docker voi silti ilmoittaa prosessin olevan täysin kunnossa. Alla oleva käyttöönotto perustuu havaittavaan toimintaan: luo indeksi, tuo dokumentit, määritä suodatettavat attribuutit ja varmista, että kirjoitusvirheitä sietävä kysely ja suodatin palauttavat odotetut tietueet.

Meilisearchin käyttötarkoitus on selkeä: kirjoitusvirheitä sietävä full-text-haku nopealla HTTP API:lla. Tämä kuvaus kertoo, minkä on oltava julkista, minkä tulisi pysyä yksityisenä ja mitä varmuuskopion on pystyttävä palauttamaan.

Kartoita Meilisearch ennen Dockerin käsittelyä

Erottele Meilisearchissa neljä kokonaisuutta: ingress, portissa 7700 kuunteleva palvelu, pysyvä tila sekä tukipalvelut tai paikallinen kapasiteetti. Paikallinen runtime-vaatimus on levytila, joka riittää indekseille ja jossa on ylimääräistä tilaa uudelleenrakennuksia ja dumppeja varten. Pidä elinkaari selkeästi määriteltynä, jotta Meilisearchin siirtäminen palvelimelta toiselle ei muuta toimintaa huomaamatta.

Suorita tunnetusti toimiva transaktio — luo indeksi, tuo dokumentit, määritä suodatettavat attribuutit ja varmista, että kirjoitusvirheitä sietävä kysely ja suodatin palauttavat odotetut tietueet — ennen kuin pidät erottelua valmiina. Mittaa eräindeksoinnin muistinkulutus, indeksien luonnin aikainen väliaikainen levytila, dokumenttien määrä ja samanaikainen hakuliikenne ja tallenna tulokset deployment-tietojen yhteyteen. Näin saat sekä hyväksymiskriteerin että ensimmäisen kapasiteetin lähtötason.

Tee Meilisearchin käynnistyksestä toistettava

Käytä komentoa, joka tuo kaikki tärkeät valinnat näkyviin. Tämä perusratkaisu sitoo Meilisearchin hostin loopback-osoitteeseen, ottaa käyttöön tunnetut data-mountit ja asettaa ensimmäisen pakollisen asetuksen. Varmista paikallinen vaatimus ennen julkistamista: levytilaa indekseille sekä ylimääräistä tilaa uudelleenrakennuksia ja dumppeja varten.

docker run -d \
  --name meilisearch \
  --restart unless-stopped \
  -p 127.0.0.1:7700:7700 \
  -v meilisearch-data:/meili_data \
  -e MEILI_MASTER_KEY=replace-with-a-long-random-value \
  getmeili/meilisearch:latest

Vaihda vaihtuvat tagit testattuun versioon tai digest-arvoon. Käynnistyksen jälkeen tarkista docker logs --tail 200 meilisearch ja varmista, että prosessi kuuntelee portissa 7700. Suorita sen jälkeen Meilisearchin hyväksymistesti; juurisivun vastaus ei todista koko skenaarion onnistumista: luo indeksi, tuo dokumentit, määritä suodatettavat attribuutit ja varmista, että kirjoitusvirheitä sietävä kysely ja suodatin palauttavat odotetut tietueet.

Anna Meilisearchille yksi kanoninen osoite

Käsittele ulkoista Meilisearch-URL-osoitetta konfiguraationa, joka säilyy uudelleenasennusten yli. Tarjoa HTTP API ensin yhden todennetun HTTPS-originin kautta; reititä hostname sen jälkeen porttiin 7700 säilyttäen alkuperäinen host ja skeema ennallaan.

Deploymentin saavutettavuuden tarkistuslista voi varmistaa, että pyynnöt päätyvät konttiin. Sen jälkeen tunnettu vika — MEILI_ENV pysyy development-tilassa tai data-levy katoaa uudelleenasennuksen yhteydessä — tulee selvittää Meilisearchista, sen tilasta tai workloadista eikä sertifikaattien automatisoinnista.

Palauta Meilisearch tyhjälle hostille

Pysyvä palautuskokonaisuus koostuu ajastetuista dumpeista tai snapshot-kuvista sekä pysyvästä datahakemistosta. Mounttaa /meili_data ennen bootstrapia, kirjoita harmitonta esimerkkidataa ja korvaa kontti varmistaaksesi, että polku todella säilyy. Volume suojaa dataa kontin vaihtamiselta, mutta ei hostin menetykseltä, tahattomalta poistamiselta tai sovellustason korruptiolta.

Ota lähdedatan huomioivia varmuuskopioita: käytä tarvittaessa loogisia dumppeja käynnissä olevista tietokannoista ja kopioi tiedostoja vain yhtenäisestä tilasta. Säilytä yksi salattu kopio erillään Meilisearch-hostista. Palautuksen hyväksymiskriteeri on täsmällinen — dumpin on tuotava data tyhjälle palvelimelle samoilla asetuksilla, dokumenttimäärällä ja edustavalla rankingilla. Palautustestattujen varmuuskopioiden opas selittää, miksi pelkkä jobin onnistuminen ei riitä.

Suojaa Meilisearchin arvokas osa

Älä omaksu paikallisen tutoriaalin turvallisuusoletuksia sellaisenaan. Meilisearchin erityinen riski on tuotannon käynnistäminen ilman master key -avainta. Tuotannossa master key tulee siksi varata hallinnointiin ja selaimesta tehtäville hakupyynnöille tulee antaa rajoitetut search key -avaimet.

Käsittele MEILI_MASTER_KEY-arvoa sen Meilisearch-roolin mukaisesti: pidä arkaluonteiset arvot poissa Gitistä, dokumentoi kierrätyksen vaikutukset äläkä koskaan käytä tuotannossa julkista esimerkkia arvoa. Rajaa tiedostojärjestelmän ja verkon käyttöoikeudet, suojaa setup-endpointit ja määritä upload-, request- tai execution-rajoitukset eräindeksoinnin muistinkulutukselle, indeksien luonnin aikaiselle väliaikaiselle levytilalle, dokumenttien määrälle ja samanaikaiselle hakuliikenteelle.

Valvo workloadia, älä vain konttia

Kapasiteettitestien tulee käyttää eräindeksoinnin muistia, indeksien luonnin aikaista väliaikaista levytilaa, dokumenttien määrää ja samanaikaista hakuliikennettä — ei vain toistaa pyyntöä polkuun /. Suorita skenaario ”luo indeksi, tuo dokumentit, määritä suodatettavat attribuutit ja varmista, että kirjoitusvirheitä sietävä kysely ja suodatin palauttavat odotetut tietueet” realistisella samanaikaisuudella ja kirjaa viive, virheaste ja tallennustilan kasvu.

Päivitysten suunnittelussa on huomioitava tämä riski: Meilisearch-dumppien yhteensopivuus ja indeksien uudelleenrakennusvaatimukset on tarkistettava ennen versioiden vaihtamista. Testaa uusi julkaisu edustavalla syötteellä, suorita sitten hyväksymistransaktio uudelleen ja vertaa tuloksia. Jos MEILI_ENV pysyy development-tilassa tai data-levy katoaa uudelleenasennuksen yhteydessä, tallenna epäonnistuva transaktio ja tarkista ensimmäinen siihen liittyvä rajapinta sen sijaan, että olettaisit ingreksen olevan syyllinen.

Muuta Meilisearchin smoke test release-tarkistukseksi

Määritä Meilisearchille tunnetusti toimiva transaktio ennen julkaisua: luo indeksi, tuo dokumentit, määritä suodatettavat attribuutit ja varmista, että kirjoitusvirheitä sietävä kysely ja suodatin palauttavat odotetut tietueet. Tallenna sen ennakkoehdot, odotettu vastaus ja siivousvaiheet versionhallintaan ilman salaisia arvoja. Kiinnitä tämän viitteen luomiseen käytetty image-versio.

Käytä transaktiota korvaavan ympäristön ja erillisen palautuksen validointiin. Palautettu palvelu on hyväksyttävä vain, jos dumpin tuonti tyhjälle palvelimelle onnistuu samoilla asetuksilla, dokumenttimäärällä ja edustavalla rankingilla. Seuraa samalla eräindeksoinnin muistinkulutusta, indeksien luonnin aikaista väliaikaista levytilaa, dokumenttien määrää ja samanaikaista hakuliikennettä ja muuta hitain tai rajoittavin osa service-level-hälytykseksi.

Tarkistukseen tarvitaan myös negatiivinen tapaus: lähetä harmitonta syötettä lähelle tähän rajapintaan liittyvää resurssi- tai formaattirajaa: MEILI_ENV pysyy development-tilassa tai data-levy katoaa uudelleenasennuksen yhteydessä. Varmista, että Meilisearch tuottaa käyttökelpoisen virheen data säilyttäen, palauta toimiva tila ja suorita tunnetusti toimiva transaktio uudelleen. Molempien tulosten säilyttäminen estää pinnallisen health endpointin muodostumisen ainoaksi tuotannon todisteeksi.

Pidä Meilisearch selkeänä, kun Dockup hoitaa reitityksen

Dockupin yhden napsautuksen Meilisearch-deploymentin tulee tehdä korvaamisesta turvallista: reitti osoittaa edelleen porttiin 7700, salaisuuksia ei leivota imageen ja pysyvät polut palautuvat uuteen konttiin. Sama deployment voidaan ajaa Dockupin computella tai liitetyllä koneella.

Viimeistele sovelluskohtaiset tehtävät varmistamalla paikallinen vaatimus — levytilaa indekseille sekä ylimääräistä tilaa uudelleenrakennuksia ja dumppeja varten —, ottamalla kanoninen julkinen osoite käyttöön ja suorittamalla tämä hyväksymistesti: luo indeksi, tuo dokumentit, määritä suodatettavat attribuutit ja varmista, että kirjoitusvirheitä sietävä kysely ja suodatin palauttavat odotetut tietueet. Lisää palautuksen tulos runbookiin ennen oikeiden käyttäjien saapumista.

Usein kysytyt kysymykset

Mitä Meilisearch tarvitsee tuotantodeploymentiin?

Reititä Meilisearch-kontti portissa 7700 yhden HTTPS-originin kautta. Paikallinen runtime-vaatimus on levytila, joka riittää indekseille ja jossa on ylimääräistä tilaa uudelleenrakennuksia ja dumppeja varten. Älä merkitse Meilisearchia valmiiksi, ennen kuin pystyt luomaan indeksin, tuomaan dokumentit, määrittämään suodatettavat attribuutit ja varmistamaan, että kirjoitusvirheitä sietävä kysely ja suodatin palauttavat odotetut tietueet.

Mitkä Meilisearchin tiedot kuuluvat varmuuskopioon?

Säilytä /meili_data ja sisällytä ajastetut dumpit tai snapshot-kuvat sekä pysyvä datahakemisto samaan palautusmanifestiin. Puhdas Meilisearch-palautus onnistuu vain, jos dumpin tuonti tyhjälle palvelimelle onnistuu samoilla asetuksilla, dokumenttimäärällä ja edustavalla rankingilla.

Tarvitseeko Meilisearch HTTPS:ää reverse proxyn takana?

Käytä julkisessa Meilisearch-originissa HTTPS:ää ja pidä portti 7700 sisäisessä reitissä. Käytä Meilisearch-asetusta oikein: tarjoa HTTP API yhden todennetun HTTPS-originin kautta. Meilisearchin tapauksessa HTTPS suojaa tunnistetietoja tai käyttäjäsisältöä siirron aikana ja pitää originista riippuvan asiakaskäyttäytymisen yhdenmukaisena.

Miten Meilisearchin päivitys pitäisi testata?

Palauta nykyinen Meilisearch-tila eristettyyn deploymentiin, ota ehdokasversio käyttöön ja suorita sen hyväksymistransaktio uudelleen. Kiinnitä erityistä huomiota siihen, että Meilisearch-dumppien yhteensopivuus ja indeksien uudelleenrakennusvaatimukset on tarkistettava ennen versioiden vaihtamista. Säilytä aiempi Meilisearch-image, kunnes sen data-migraation ja rollbackin rajat ovat selvillä.