Adım Adım Apisearch

See the current release documentation.

www.

elastic.

coŞimdi gelelim sunucuyu çalıştırmaya.

docker-compose up komutunu çalıştırdığınızda yukarıdaki servisler çalışacaktır ve tüm servisler ayaklandıktan sonra artık kullanmaya hazırırız.

İlk isteğimizi atalım.

Apisearch için bir durum sorgusu yapalım.

curl -X GET http://apisearch-server:8100/health -H 'Accept: application/json' -H 'Apisearch-token-id: 1e4d75bf-a641-44c1-a745-06ee51db4e93' -H 'Content-Type: application/json' -H 'cache-control: no-cache'Bu isteği yaptınızda sonuç olarak aşağıdaki gibi bir sonuç alacağız:{ "healthy": true, "status": { "elasticsearch": "yellow", "redis": true }, "info": { "plugins": { "elk": "ApisearchPluginELKELKPluginBundle", "new_relic": "ApisearchPluginNewRelicNewRelicPluginBundle", "elastica": "ApisearchPluginElasticaElasticaPluginBundle", "redis_storage": "ApisearchPluginRedisStorageRedisStoragePluginBundle", "rsqueue": "ApisearchPluginRSQueueRSQueuePluginBundle" } }, "process": { "memory_used": 3044264 }}Apisearch sunucumuz çalışır durumda.

Yukarıdaki sonuçlara kısaca göz atacak olursak sistemin genel sağlık durumunu ve servislerin sağlık durumlarını geri dönmekte.

Ayrıca bize eklenti listesini de dönmektedir.

Şimdi, Apisearch’ün altyapısında neler var baktık.

Docker yardımı ile Apisearch’ü kurduk ve çalışır hale getirdik.

Şimdi bir index oluşturalım ve içerisine bir takım veriler kaydedelim.

Elasticsearch’deki yapıdan da hatırlayacaksınız index verilerimizi kaydedeceğimiz alanın ismidir.

Index oluşturmak için aşağıdaki komutu çalıştıracağız.

curl -X PUT http://apisearch-server:8100/v1/products-app/indices/products -H 'Accept: application/json' -H 'Apisearch-token-id: 1e4d75bf-a641-44c1-a745-06ee51db4e93' -H 'Content-Type: application/json' -H 'cache-control: no-cache' -d '{ "language": "tr"}'Not: Isteklerde token değeri gerekmektedir.

Bu token bilgisi .

env dosyasındaki token bilgisidir.

Yukarıdaki isteği çalıştırdıktan sonra http cevabı olarak 201/202 durumunda bir cevap dönecektir.

Bu durumda index oluşturulmuş demektir.

Index oluşturmak için daha detaylı konfigürasyonlar mevcut.

Ancak hepsine birden değinmek şimdilik kafa karıştıracaktır.

İlerleyen yazılarda buradaki konfigürasyonları inceleyeceğiz.

Ancak siz şimdiden incelemek isterseniz şurayada göz atabilirsiniz.

Index’i oluşturduktan sonra şimdi index’e bir kaç tane veri kayıt edelim.

curl -X PUT http://apisearch-server:8100/v1/products-app/indices/products/items -H 'Accept: application/json' -H 'Apisearch-token-id: 1e4d75bf-a641-44c1-a745-06ee51db4e93' -H 'Content-Type: application/json' -H 'cache-control: no-cache' -d '[ { "uuid": { "id": "1", "type": "product" }, "metadata": { "title": "Kırmızı Deri Çanta", "category": { "id": "1", "name": "Çanta" } }, "searchable_metadata": { "title": "Kırmızı Deri Çanta" } }, { "uuid": { "id": "2", "type": "product" }, "metadata": { "title": "Sunni Deri Çanta", "category": { "id": "1", "name": "Çanta" } }, "searchable_metadata": { "title": "Sunni Deri Çanta" } }]'Örnekte iki adet ürünün bilgilerini kayıt ettik.

Bizim ürün dökümanımızda title ve category bilgileri bulunmakta ve bu alanlardan title alanında sadece arama yapmak istiyoruz.

Yani category alanında herhangi bir arama yapmayacağımız bildirdik.

Şimdi bir aram işlema yapalım.

curl -X GET http://apisearch-server:8100/v1/products-app/indices/products -H 'Accept: application/json' -H 'Apisearch-token-id: 1e4d75bf-a641-44c1-a745-06ee51db4e93' -H 'Content-Type: application/json' -H 'cache-control: no-cache' -d '{ "q": "sunni"}'Sorguyu çalıştırdığımızda 1 tane sonuç dönecektir.

Çünkü ürünlerimiz içersinde sunni kelimesi geçen sadece 1 sonuç bulunmaktadır.

Gördüğünüz gibi kurulum, index oluşturma ve verileri kayıt etme aşamalarını hızlıca yapabildik.

Bu yazıda şimdilik bu kadar değineceğiz konular.

Sonraki yazılarda sırasıyla aramalarımıza filtre ekleyeceğiz ve biraz daha detaylandıracağız, aggregation uygulayacağız, promosyonlu döküman ve skorlama özelliklerine değineceğiz.

Sonraki yazılarda görüşmek üzere.

Beni takip etmeyi unutmayın!hkulekci – OverviewSoftware Engineer http://scanf.

info http://kulekci.

net @biberlabs @motivolog – hkulekcigithub.

comHaydar Külekci (@kulekci) | TwitterThe latest Tweets from Haydar Külekci (@kulekci).

#kibana #elasticsearch #php #nodejs #mysql #restapi #redis #zf2…twitter.

com.. More details

Leave a Reply