Giriş
Meilisearch, Rust programlama dilinde yazılmış açık kaynaklı, bağımsız bir arama motorudur. Diğer popüler arama motorlarıyla karşılaştırıldığında, Meilisearch dağıtımları çok az adım gerektirir ve bir Meilisearch sunucusunu çalıştırabilir ve tek bir komut satırı ikili dosyası kullanarak sorgulayabilirsiniz. Meilisearch, bulanık eşleştirme ve şemasız indeksleme gibi özelliklere sahiptir ve demo amaçlı bir web ön yüzü içerir. Daha karmaşık konuşlandırmalar, InstantSearch javascript kitaplığıyla entegrasyonu destekler.
Bu yazıda, Meilisearch’ü ilk olarak Docker kullanarak bir Ubuntu 22.04 sunucusunda deneyerek çalıştıracaksınız. Onu örnek verilerle dolduracak ve hem komut satırından hem de yerleşik web ön ucundan sorgulayacaksınız. Ayrıca, arama ağırlığını ve diğer yapılandırma ayrıntılarını nasıl değiştireceğinizi keşfedeceksiniz. Ardından, kalıcı verileri depolayan ve sunucunuzla birlikte otomatik olarak yeniden başlayan, üretime hazır bir Meilisearch hizmeti kurmak için docker compose’u kullanacaksınız.
Önkoşullar
Bu yazıyı takip etmek için ihtiyacınız olacaklar:
- Ubuntu 22.04 ilk sunucu kurulum kılavuzu izlenerek kurulan bir Ubuntu 22.04 sunucusu, root olmayan bir sudo kullanıcı ve bir güvenlik duvarı .
- Docker ve Docker-compose.
Adım 1 — Meilisearch Kurulumu ve Örnek Verileri Yükleme
Meilisearch birçok ortam için kurulum paketleri sağlar. Aktif geliştirme aşamasında olduğundan ve dahili veri yapısı hala güncellenmekte olduğundan, Meilisearch’ü Docker aracılığıyla kurmak iyi bir fikirdir. Bu şekilde, sisteminiz için belirli bir Meilisearch yapılandırmasını sabitleyebilir ve gerektiğinde zarif bir şekilde yükseltebilirsiniz.
Docker Hub’dan en son Meilisearch görüntüsünü (bu yazı itibariyle 0.26.1) çekerek başlayın:
Artık docker run’a bazı parametreler sağlayarak Meilisearch docker imajını başlatabilirsiniz:
Bu komut aşağıdaki şekilde ayrıştırılabilir:
docker run –rmuses the--rmflag to ensure the container will clean up after itself when it exits.-p 127.0.0.1:7700:7700forwards traffic on your server’s localhost interface on port 7700 to Meilisearch’s default port7700inside the Docker container, so you can access it as normal.127.0.0.1is synonymous withlocalhostwhen using IPv4 addresses.getmeili/meilisearch:v0.26.1runs the image you just downloaded.
Meilisearch’ü çalıştırdığınızda, otomatik olarak bazı yapılandırma ayrıntıları üretecek ve bunları çıktıya dahil edecektir. ./data.ms Meilisearch dizin dizininin kapsayıcı içinde otomatik olarak oluşturulduğunu unutmayın. Bu öğreticide konumu daha sonra değiştireceksiniz. Ayrıca, Meilisearch’ün varsayılan olarak bir gerçek yapılandırma ortamı yerine bir geliştirme ortamında çalıştığını unutmayın.
…
[secondary_label Output]
Database path: "./data.ms"
Server listening on: "http://0.0.0.0:7700"
Environment: "development"
Commit SHA: "unknown"
Commit date: "unknown"
Package version: "0.26.1"
…
Artık içinde veri olmayan, çalışan bir Meilisearch örneğiniz var. Meilisearch ile çalışmaya başlamak için bazı örnek veriler yüklemeniz gerekecek. meilisearch işlemi çalıştığı sürece başladığı kabuğu bloke edecektir, bu nedenle diğer komutları çalıştırmaya devam etmek için sunucunuza ayrı bir bağlantı açmak isteyeceksiniz.
Meilisearch projesi, TMDB, The Movie Database’den alınan örnek bir JSON biçimli veri seti sağlar. wget komutunu kullanarak verileri docs.meilisearch.com adresinden indirin:
Bu dosyanın içeriğinin bir parçasını görmek için tail komutunu çalıştırabilirsiniz:
Çıktı
…
{"id":"289239","title":"Mostly Ghostly: Have You Met My Ghoulfriend?","poster":"https://image.tmdb.org/t/p/w500/eiVY4kKpbo1f7wyNubgJX5ILpxg.jpg","overview":"Bella Thorne, Madison Pettis and Ryan Ochoa lead an ensemble cast in this spook-tacular adventure with new ghosts, new thrills, and the return of some old friends. Max (Ochoa) only has eyes for Cammy (Thorne), the smart, popular redhead at school. When Max finally scores a date with Cammy on Halloween, Phears, an evil ghost with plans on taking over the world, unleashes his ghouls and things go haywire. With the help of his ghostly pals, Tara and Nicky, can Max thwart Phears' evil plot, help reunite his ghost friends with their long-lost parents and still make his date with Cammy on Halloween? R.L. Stine's Mostly Ghostly: Have You Met My Ghoulfriend? is a frightful family delight!","release_date":1409619600,"genres":["Family","Fantasy","Horror"]},
{"id":"423189","title":"Right Here Right Now","poster":"https://image.tmdb.org/t/p/w500/sCo1excKlzhKas681CTSe1ujcOa.jpg","overview":"Hamburg, St. Pauli, New Year's Eve. Oskar Wrobel runs a music club in an old hospital at the edge of the Reeperbahn. While fireworks go off in the streets of St. Pauli, he prepares the big final party - the club has to close. Thankfully there is no time to think about it because the chaos is breaking into his living room, all while hell break loose at the club. The film, based on the novel by Tino Hanekamp, was filmed with hundreds of extras attending a real-life three-night-long party.","release_date":1530579600,"genres":["Documentary","Music"]},
{"id":"550315","title":"Fireman Sam - Set for Action!","poster":"https://image.tmdb.org/t/p/w500/2atmRsuSA4tX6sbOEgFzquFWcCV.jpg","overview":"","release_date":1538010000,"genres":["Family","Animation"]}
]
Her giriş bir kimlik, bir başlık, bir poster görüntüsüne bir bağlantı, isteğe bağlı olarak filme genel bir bakış, zaman damgası biçiminde bir gösterim tarihi ve türlerin bir listesini içerir.
Bir HTTP POST isteği oluşturmak için curl kullanarak verileri Meilisearch’e yükleyebilirsiniz. curl, komut satırında web istekleri oluşturmak için güçlü ve her yerde bulunan bir araçtır ve HTTP POST, biçimlendirilmiş verileri API uç noktalarına göndermek için kullanılan birkaç yaygın HTTP fiilinden (web tarayıcıları tarafından kullanılan PUT ve GET ile birlikte) biridir.
Curl komutunun çeşitli bağımsız değişkenleri şunlardır:
-X POST http://urlbir POST isteği gerçekleştireceğinizi ve veri göndereceğinizi belirtir.-H 'Content-Type: application/json'Dosya türünü belirten bir üstbilgisi sağlar.--data-binary @movies.jsondosyanın kendisini içerir.- Her satırın sonundaki \ karakterleri, bir kabuk komutunu komutun kendisini bölmeden birden çok satıra bölmek istediğinizde standarttır.
Meilisearch varsayılan olarak 7700 numaralı bağlantı noktasında çalışır ve 127.0.0.1 bir localhost IP’sini yansıtır. Bu durumda, /indexes/movies/documents konumunda yeni bir Meilisearch dizini oluşturursunuz ve bir JSON dosyası yükleme isteğinizde gerekli biçimlendirmeyi sağlarsınız. Bu, JSON’u CURL ile yüklemenin standart bir yoludur.
Komut, isteğinizin başarıyla kuyruğa alındığını belirten bir çıktı döndürmelidir. Meilisearch, tüm isteklerin tamamlanmasını beklemek yerine zaman uyumsuz olarak işler.
{"uid":0,"indexUid":"movies","status":"enqueued","type":"documentAddition","enqueuedAt":"2022-03-09T17:23:18.233702815Z"}
Aynı dizinde oluşturulan yeni /tasks/ uç noktasına bir curl -X GET isteği gerçekleştirerek bu isteğin durumunu denetleyebilirsiniz. Bu veriler çok hızlı bir şekilde işlenmelidir, bu nedenle yanıt finishedAt parametresini içermelidir:
{"uid":0,"indexUid":"movies","status":"succeeded","type":"documentAddition","details":{"receivedDocuments":19547,"indexedDocuments":19546},"duration":"PT29.866920116S","enqueuedAt":"2022-03-09T17:23:18.233702815Z","startedAt":"2022-03-09T17:23:18.241475424Z","finishedAt":"2022-03-09T17:23:48.108395540Z"}
Artık örnek verilerle doldurulmuş bir Meilisearch dizininiz var. Bir sonraki adımda, verileri keşfetmek için bazı örnek sorgular deneyeceksiniz.
Adım 2 – Meilisearch ile Arama
Meilisearch dizininde arama yapmak için, API aracılığıyla tek tek sorgular gönderebilir veya bir web arayüzü ile arama yapabilirsiniz.
API üzerinden arama yapmak, HTTP POST’lar aracılığıyla veri yüklemeye benzer şekilde çalışır. Arama yapmak için /search uç noktasına bir istekte bulunursunuz ve tüm sorgu JSON’unuzu komut satırına ekleyebilirsiniz. Aşağıdaki curl komutunu kullanarak hangi filmlerin döndürüldüğünü görmek için saint araması yapmayı deneyin:
İsabetlerin listesini içeren bir JSON nesnesi döndürür:
{
"hits": [
{
"id": "45756",
"title": "Saint",
"poster": "https://image.tmdb.org/t/p/w500/pEPd4mgMwvz6aRhuWkmPUv98P1O.jpg",
"overview": "A horror film that depicts St. Nicholas as a murderous bishop who kidnaps and murders children when there is a full moon on December 5.",
"release_date": 1288486800,
"genres": []
},
{
"id": "121576",
"title": "Saint Philip Neri I Prefer Heaven",
"poster": "https://image.tmdb.org/t/p/w500/z9OsQoM343WsIrP0zMEE06pO1vH.jpg",
"overview": "An epic feature film on the famous 'Apostle of Rome' and great friend of youth in the 16th century. One of the most popular saints of all time, St. Philip Neri was widely known for his great charity, deep prayer life, and tremendous humor. Hoping to join St. Ignatius of Loyola's new order of Jesuits and be a missionary to India, Philip was instead guided by Providence to seek out the poor and abandoned youth of Rome to catechize them in the faith and help them find a better life. He became the founder of the religious congregation, the Oratory, that worked with the youth and also labored to re-evangelize a decadent Rome.",
"release_date": 1284944400,
"genres": [
"Drama"
]
},
{
"id": "221667",
"title": "Saint Laurent",
"poster": "https://image.tmdb.org/t/p/w500/ekpT7mTk4t5PjRYZfiyh0sTKpY5.jpg",
"overview": "1967-1976. As one of history's greatest fashion designers entered a decade of freedom, neither came out of it in one piece.",
"release_date": 1411434000,
"genres": [
"Drama"
]
},
...
Not: Daha okunabilir komut satırı JSON biçimlendirmesi elde etmek için sudo apt install jq kullanarak jq adlı başka bir araç yükleyebilirsiniz. Ardından, Meilisearch JSON çıktısını jq üzerinden geçirmek için kabuk borularını kullanın, | jq komutuna.
Örneğin, yalnızca örnek aziz sorgusunun başlıklarını listelemek için jq’yu yükleyin ve ardından aşağıdaki komutu çalıştırın:
Bunun gibi başlıkların bir listesini alacaksınız:
[secondary_label Output
Saint
Saint Philip Neri I Prefer Heaven
Saint Laurent
. . .
Meilisearch’ün bulanık eşleştirme işlevini göstermek için, bir kullanıcının yazım hatası yapmış olabileceği varsayımıyla seint araması yapmayı da deneyebilirsiniz:
Sonuçlar, sorgu sıralamasının özellikleri nedeniyle biraz farklı olacaktır, ancak yine de “aziz” içeren birçok giriş göreceksiniz.
{
"hits": [
{
"id": "10105",
"title": "Saints and Soldiers",
"poster": "https://image.tmdb.org/t/p/w500/efhqxap8fLi4v1GEXVvakey0z3S.jpg",
"overview": "Five American soldiers fighting in Europe during World War II struggle to return to Allied territory after being separated from U.S. forces during the historic Malmedy Massacre.",
"release_date": 1063242000,
"genres": [
"War",
"Action",
"Drama"
]
},
{
"id": "121576",
"title": "Saint Philip Neri I Prefer Heaven",
"poster": "https://image.tmdb.org/t/p/w500/z9OsQoM343WsIrP0zMEE06pO1vH.jpg",
"overview": "An epic feature film on the famous 'Apostle of Rome' and great friend of youth in the 16th century. One of the most popular saints of all time, St. Philip Neri was widely known for his great charity, deep prayer life, and tremendous humor. Hoping to join St. Ignatius of Loyola's new order of Jesuits and be a missionary to India, Philip was instead guided by Providence to seek out the poor and abandoned youth of Rome to catechize them in the faith and help them find a better life. He became the founder of the religious congregation, the Oratory, that worked with the youth and also labored to re-evangelize a decadent Rome.",
"release_date": 1284944400,
"genres": [
"Drama"
]
},
{
"id": "133558",
"title": "Saints and Soldiers: Airborne Creed",
"poster": "https://image.tmdb.org/t/p/w500/gwqR9UY0xqBZwP2qb8ZPmf9b2lq.jpg",
"overview": "A group of American GIs work their way through war-torn France during the final days of the Second World War.",
"release_date": 1345165200,
"genres": [
"Drama"
]
},
…
Artık komut satırı aramasını denediğinize göre, Meilisearch’ü yerel bir makinede çalıştırıyorsanız, web kullanıcı arabirimini görüntülemek için bir tarayıcıda http://localhost:7700/ gidebilirsiniz. Uzak bir sunucuda çalışıyorsanız ve bu öğreticinin önkoşullarını izlediyseniz, güvenlik duvarı yapılandırmanız bu URL’ye erişilebilmesini engeller. Arama arayüzüne erişmek için bir SSH tüneli oluşturmanız gerekir. Yerel makinenizden sunucunuza bir tünel oluşturmak için ssh’yi -L bayrağıyla çalıştırın. Uzak sunucunuzun IP adresiyle birlikte 7700 numaralı bağlantı noktasını sağlayın:
Daha sonra http://localhost:7700 yazarak bir tarayıcıdan erişebilmeniz gerekir.

Meilisearch demo arayüzünde arama yapmak son derece hızlıdır ve üretim kullanımının heyecan verici bir önizlemesini sağlamalıdır. Bir sonraki adımda, belirli parametreleri diğerlerine göre önyargılı hale getirmek için arama sıralamasını ve filtrelemeyi ayarlamaya yönelik örnekler bulacaksınız.
Adım 3 – Arama Sıralamasını ve Filtrelemeyi Ayarlama
Arama motorlarının önemli bir özelliği, hepsinin farklı alanların önemini ağırlıklandırmak için bazı yöntemler uygulamasıdır. Bu ağırlıklandırma için başka bir terim önyargıdır. Örneğin, arama dizininizde birden çok alan bulunduğunu ve tek bir sözcük sorgusuyla arama yaptığınızı varsayalım. Arama motorunun, bir alanın önemine bağlı olarak sonuçlarını nasıl sıralayacağına veya önyargılı hale getireceğine dair talimatlara ihtiyacı vardır.
Bazı açık kaynaklı arama motorları, önyargıyı yapılandırmanıza izin vermez ve sorgu sonuçları, arama terimi alaka düzeyinden daha fazla verilerdeki eğilimler tarafından yararsız bir şekilde geniş veya çarpık olabilir. Meilisearch, daha fazla yapılandırabileceğiniz varsayılan bir önyargı kuralları kümesine sahiptir. Bu özelleştirilebilirlik, verilerinizin ayrıntılarına göre daha sezgisel ve alakalı sonuçlar elde etmenize yardımcı olabilir.
Derecelendirme kurallarınızı denetlemek için /settings/ranking-rules uç noktasına curl komutunu kullanarak bir HTTP GET isteğinde bulunabilirsiniz:
["words","typo","proximity","attribute","sort","exactness"]
Bu kurallar Meilisearch belgelerinde daha ayrıntılı olarak açıklanmaktadır. Temel olarak, Meilisearch’ün yaygın yazım hatalarını çözmeye öncelik verme yöntemlerini, kelime öbeklerindeki kelimelerin yakınlığına öncelik vermeye karşı ince ayar yapmanıza olanak tanır.
Öncelik sırasını değiştirmek için yeniden düzenlenmiş aynı kural kümesiyle bu uç noktaya kıvrılma içeren bir HTTP POST isteği gönderebilirsiniz. Veri kümeniz nicel alanlar içeriyorsa, bu alanları artan veya azalan düzende önyargılı hale getirecek derecelendirme kuralları da ekleyebilirsiniz. Bu veri kümesinde, aşağıdaki gibi ekleyebileceğiniz böyle bir alan release_date:
Bu istek, movies.json dosyasını yüklemek için kullandığınız ilk HTTP POST’a benzer şekilde kuyruğa alınmış bir yanıt döndürür:
{"uid":1,"indexUid":"meteorites","status":"enqueued","type":"settingsUpdate","enqueuedAt":"2022-03-10T21:36:47.592902987Z"}
Meilisearch, aynı HTTP GET ve HTTP POST yaklaşımını kullanarak hangi özniteliklerin aranabilir olduğunu, sonuçlarda hangi özniteliklerin görüntülendiğini ve hangi özniteliklerin filtrelenebileceğini veya sıralanabileceğini açıklayan kuralları sorgulamanıza ve güncellemenize olanak tanır.
Örneğin, ilk etapta yalnızca belirli özniteliklerin aranabilir olmasını ve diğerlerinin (büyük olasılıkla son kullanıcı için hiçbir değeri olmayan id gibi) sonuçlardan hariç tutulmasını istiyorsanız, ayarlar uç noktasına searchableAttributes JSON listesini GÖNDEREBİLİRSİNİZ:
Artık yalnızca başlık, genel bakış ve türler alanlarında arama yapılabilir ve geri kalanlar dizin oluşturma işleminin dışında tutulur.
Ayrıca, görüntülenen Özniteliklerin bir listesini GÖNDEREREK arama sonuçlarında görüntülenen veya gizlenen öznitelikleri değiştirebilirsiniz:
Artık bir filmin tüm alanları, görüntülenenÖznitelikler listesine ekledikleriniz dışında gizlidir.
Son olarak, verilerinizin filtrelenecek veya sıralanacak özniteliklerinin bir listesini de sağlayabilirsiniz. Bu liste, karşılaştırmalı işleçlerin kullanımı yoluyla nicel filtrelemeyi (örneğin, büyüktür için > veya daha küçük için < gibi) hem de çok yönlü arama olarak da bilinen belirli bir kümeye dahil edilerek filtrelemeyi içerir.
Bu kurallar birlikte, aşağıdaki gibi sorgular oluşturmanıza olanak tanır:
Bu sorgu, yazılı ifadenin eşdeğeridir: “başlıkta ‘ev’ kelimesini de içeren, en yeniden en eskiye kadar Korku türüne sahip tüm filmleri bulun”. Aşağıdaki gibi çıktı alacaksınız:
{
"hits": [
{
"id": "82505",
"title": "House at the End of the Street",
"poster": "https://image.tmdb.org/t/p/w500/t9E3Inaar1CAn5Cwj0M8dTwtD8H.jpg",
"overview": "A mother and daughter move to a new town and find themselves living next door to a house where a young girl murdered her parents. When the daughter befriends the surviving son, she learns the story is far from over.",
"release_date": 1348189200,
"genres": [
"Horror",
"Thriller"
]
},
{
"id": "29293",
"title": "House of the Dead 2",
"poster": "https://image.tmdb.org/t/p/w500/r95UYIFeCjIVKZ1MPxZwEHITAhg.jpg",
"overview": "In Guesta Verde University, the deranged Professor Curien is trying to bring back the dead, killing students for the experiment. There is an outbreak of zombies in the campus, and the government sends a NSA medical research team, formed by Dr. Alexandra Morgan a.k.a. Nightingale and lieutenant Ellis, with a special force leaded by lieutenant Dalton, trying to get the zero sample from the first generation zombie. The team has a very short time to accomplish their mission and leave the place before missiles are sent to destroy the area. However, the place is crowded of hyper sapiens and the group has to fight to survive.",
"release_date": 1139616000,
"genres": [
"TV Movie",
"Horror"
]
},
{
"id": "10066",
"title": "House of Wax",
"poster": "https://image.tmdb.org/t/p/w500/r0v8qg78Ol9NIsRGe3DME27ORpd.jpg",
"overview": "A group of unwitting teens are stranded near a strange wax museum and soon must fight to survive and keep from becoming the next exhibit.",
"release_date": 1114822800,
"genres": [
"Horror",
"Drama"
]
},
…
Belgeleri dizine ekleme, arama ve görüntülemede alanları dahil etmek ve hariç tutmak, belge tabanlı arama motorlarının temel özellikleridir. Bunları koşullu olarak etkinleştirmek, hem arama performansını korumanıza hem de arama motorunuzu son kullanıcılara uyacak şekilde hızlı ve kapsamlı bir şekilde özelleştirmenize olanak tanır.
Meilisearch’ün nasıl çalıştırılacağını, sorgulanacağını ve yapılandırılacağını keşfettiğinize göre, bu öğreticinin bir sonraki adımında, Meilisearch için güvenli bir kimlik doğrulama anahtarıyla arka planda çalışmasına izin verecek bir docker-compose yapılandırması oluşturacaksınız.
Adım 4 – Docker-Compose Yapılandırması Oluşturma ve Anahtar Tabanlı Kimlik Doğrulaması Kullanma
Diğer tüm sunucu tarafı uygulamaları gibi, Meilisearch dizininin son kullanıcıları da her zaman çalışacağını ve kullanılabilir olacağını varsaymalıdır. Meilisearch’ün sunucunuzla düzenli olarak yeniden başlatılabildiğinden ve günlüklerinin izlenebildiğinden emin olmak için, otomatik olarak yönetilmesini sağlayacak bir docker-compose yapılandırması oluşturmanız gerekir.
İlk olarak, Meilisearch’ün arama dizinini ve diğer yapılandırma ayrıntılarını kalıcı olarak depolaması için kullanılabilecek /var/local dizininde bir dizin oluşturun:
Bundan sonra, mevcut çalışma ortamınızda Meilisearch için bir Docker yapılandırmasını depolamak için kullanılacak meilisearch-docker adlı bir dizin oluşturun ve ardından bu dizine cd ekleyin:
Ardından, nano veya favori metin düzenleyicinizi kullanarak docker-compose.yml adlı bir dosya açın:
Aşağıdaki içeriği dosyaya kopyalayın. Bu, Meilisearch Docker yapılandırmanız olacaktır.
version: "3.9"
services:
meilisearch:
image: "getmeili/meilisearch:v0.26.1"
restart: unless-stopped
ports:
- "127.0.0.1:7700:7700"
volumes:
- /var/local/meilisearch:/data.ms
env_file:
- ./meilisearch.env
Dosyayı kaydedin ve kapatın. Nano kullanıyorsanız, Ctrl + X tuşlarına basın, ardından istendiğinde, Y ve ardından ENTER tuşuna basın.
Bu dosyada kullanılan ayarlar, birkaç eklemeyle birlikte bu öğreticide daha önce çalıştırdığınız özgün docker sözdizimine benzer:
restart:unless-stoppedBu hizmetin arka planda çalışmaya devam edeceği ve el ile durdurmadığınız sürece yeniden başlatmalar boyunca devam edeceği anlamına gelir.- Meilisearch dizininiz artık kalıcıdır ve yerel makinenizdeki /var/local/meilisearch dizininde saklanır.
env_fileMeilisearch seçeneklerini yapılandırmak için ./meilisearch.env ortam dosyasını bildirir.
Ortam değişkenleri, yapılandırmanızı çalışma zamanında etkili bir şekilde bildirmek için meilisearch’ü ek seçeneklerle çalıştırmanıza olanak tanır. Ortam değişkenlerini kullanmak, uygulamaya özgü bir yapılandırma dosyasını düzenlemeye gerek kalmadan uygulama parametrelerini yapılandırmanın tutarlı, sistem genelinde bir yoludur. docker-compose, ana docker-compse.yml yapılandırmasına herhangi bir gizli bilgi eklemek zorunda kalmamak için ortam değişkenlerini ayrı bir dosyada bildirmenize olanak tanır.
Meilisearch’ü üretim modunda çalıştırmak için, güvenli kullanım için bir API anahtarı yapılandırmanız gerekir. Kendi anahtarınızı oluşturabilir veya aşağıdaki openssl komutunu kullanarak bir anahtar oluşturabilirsiniz:
173e95f077590ed33dad89247247be8d8ce8b6722ccc87829aaefe3207be
Bu anahtarı güvenli bir yerde not edin. Son olarak, nano veya favori metin düzenleyicinizi tekrar kullanarak, meilisearch.env adlı yeni dosyayı açın:
Anahtarınızı dosyaya MEILI_MASTER_KEY ortam değişkeni olarak yapıştırın:
MEILI_MASTER_KEY="173e95f077590ed33dad89247247be8d8ce8b6722ccc87829aaefe3207be"
Dosyayı kaydedin ve kapatın. Meilisearch’ün başka bir kabukta çalışan bir örneğine hala sahipseniz, şimdi bu terminal penceresine geri dönüp Ctrl + C tuşlarına basarak onu kapatmalısınız. Artık yeni Meilisearch Docker örneğini arka planda çalıştırmak için docker-compose up with –detach komutunu kullanarak açabilirsiniz:
docker ps kullanarak başarıyla başlatıldığını doğrulayabilirsiniz:
Name Command State Ports
------------------------------------------------------------------------------------------------------------
meilisearch-docker_meilisearch_1 tini -- /bin/sh -c ./meili ... Up 127.0.0.1:7700->7700/tcp
Şu andan itibaren, Meilisearch sunucu yeniden başlatmalarında otomatik olarak yeniden başlatılacaktır. Gerekirse, ~/docker-meilisearch dizinine geri dönüp docker compose stop komutunu çalıştırarak Docker kapsayıcısını durdurabilirsiniz.
Bu docker-compose yapılandırması, örnek verilerle çalışmaya devam etmek için yeniden doldurmanız gereken yeni, boş bir arama dizini de oluşturur. Mevcut dizininizle oluşturduğunuz herhangi bir kuralı taşımanız gerekiyorsa Meilisearch yükseltme belgelerini takip edebilirsiniz.
Meilisearch bulut sunucunuz artık ek bir kimlik doğrulaması gerektiren anahtar tabanlı kimlik doğrulaması da kullanıyor. -H 'Authorization: Bearer 173e95f077590ed33dad89247247be8d8ce8b6722ccc87829aaefe3207be' Her API isteğine eklenecek üstbilgi. Gerekirse, daha ayrıntılı izin düzeylerine sahip birden çok kimlik doğrulama anahtarı oluşturmak için Meilisearch kimlik doğrulama belgelerini gözden geçirebilirsiniz.

Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.