Turgay Can adlı üyeden alıntı

Basit bir sistem söyleyebilirim ama php/mysql ile yada ön bellek ile kasıt nedir bilmiyorum ama bu tür çözümlerle bu işin teknik açıdan mümkün olmayacağını 5 yıllık bir profesyonel deneyimle söyleyebilirim.

Scope dar olduğu için SOLR yada Elastic Search gibi açık kaynak arama motorlarını kullanarak projenizi en azından orta vadede bir yere ulaştırabilirsiniz.


Öğrenmeniz ve tecrübe etmeniz gereken çok yol var ve bu yola bu kadar erken başlamanız bence çok güzel :) Proje şu aşamada teknik açıdan yetersiz bir alt yapı ile ilerlesede fikir ve emek var. Bunlar fazlasıyla saygıyı hak ediyor.

Öğrenmeniz ve tecrübe etmeniz gereken kavramlar;

Cache, SOLR/Elastic, Hızlı Indexleme algoritmaları, MySQL'deki verileri SOLR/Elastic içine hızlı ve dinamik şekilde nasıl indexletebilirim, İçeriye aldığınız datayı nasıl işleyeceğiniz, arama sorgularına göre rules-based(kural tabanlı) dinamik indexleme kümeleri oluşturmak, MySQL'i iki parçaya bölüp, Master ve Slave kafasında birisinde update/delete, diğerinde ise sadece select işlemleri yaptırmak ve bu işlemlere göre MyIsam ve InnoDb gibi engine'leri kullanmak. Database kısmında data büyürse partioning yapmak, listelencek dataların sorgularına göre indexler hazırlamak, yüksek veri işlemek için bir kuyruk sistemi kullanmak (Active MQ, Rabbit MQ yada Iron MQ gibi).

Apache SOLR/Elastic içinde bir (master gibi ) indexleme sunucusu ve buna bağlı olarak search işlemleri yapan slave sunucular olmalı ve master bu slave deki dataları her daim değişen ve gelişen aramalara göre algoritmik değişikliklere(rule based) sonuçlar üretmeli..


En basit hali ile minimum öğrenmeniz gereken şeyler bunlardan ibaret.

Php bu işin sadece ön yüzü, açıkcası pekte önem atfedilecek bir kısım değil. Arama motorundan gelen anlamlı veriyi json tipinde arayüze yansıtmaktan ibaret olacaktır.

Ben bu projeyi yapacak olsam, ön yüzde php, jsp, mustache, pyhton gibi herhangi bir dil, arka planda java yada scala kullanırdım. Database olarakta MySQL, PostgreSQL master db için olabilir yada tüm bu RDBMS leri bir kenara itip, Document based Mongod yada Couch DB'yi kullanırdım. SOLR/Elastic documend based bir yapıda verileri json tipinde barındırır.

Genç kardeşim, tekrar güzel projen, fikrin için şimdiden tebrik ederim.

Allah kolaylık versin, bir sıkıntı yada destek ister isen konu altına karalarım ;)


araştırmalarıma başlıyorum teşekkürler :)

Bu arada Elastic search çok hoşuma gitti gayette basit gözüküyor yakında gerekenleri yapacağım :)