Prayk nasıl çalışır
Prayk, Azerbaycan’daki ilan sitelerinin ilanlarını tek yerde gösterir, kopyaları ayırır ve fiyatları karşılaştırır. Burada sistemin ana parçalarının nasıl kurulduğunu anlatıyoruz.
İlanlar nereden gelir
Sitedeki ilanların iki kaynağı vardır.
- Kullanıcıların ve mağazaların Prayk’a kendilerinin eklediği ilanlar.
- PraykBot’un Azerbaycan’ın açık ilan ve çevrim içi mağaza sitelerinden okuduğu ilanlar. Böyle bir ilan her zaman «İlanın kaynağı» bloğu ve özgün sayfaya bağlantıyla gösterilir.
- Bot ilanları düzenli olarak yeniden denetler: kaynakta silinen ilan Prayk’ta da devre dışı bırakılır.
Kopya ilanlar nasıl bulunur
Aynı ilan çoğu zaman birkaç sitede veya birkaç satıcı adına yayımlanır. Sistem her yeni ilanın görsel ve metin «izlerini» mevcut ilanlarla karşılaştırır — ucuz denetimden pahalıya doğru.
- Aynı dosya: görselin baytları tamamen örtüşür.
- Benzer görsel: boyutu değiştirilmiş veya yeniden sıkıştırılmış görsel (algısal özet).
- Benzer metin: başlığı ve açıklaması az değiştirilmiş ilan (SimHash).
- Görselin içeriği: kırpılmış veya üzerine yazı eklenmiş görsel — sinir ağının çıkardığı vektörlerin yakınlığıyla.
- İlan yalnızca güçlü kanıt olduğunda otomatik olarak «kopya» sayılır; zayıf benzerlik tek başına yeterli değildir. İlk yayımlanan ilan özgün sayılır, kartlarda «Özgün» ve «Kopya» rozetleri görünür.
- Kendi ilanını güncelleyen veya yeniden ekleyen satıcı kopyacı sayılmaz.
Arama
Arama, Azerbaycan Türkçesinin özelliklerine göre kurulmuştur.
- «menzil» yazan «mənzil»i, «masin» yazan «maşın»ı bulur: ə, ı, ş, ç, ö, ü, ğ harfleri Latin karşılıklarıyla aynı sayılır.
- Küçük yazım hataları hoş görülür; yazdıkça bölüm, mağaza ve ilan önerileri çıkar.
- Görselle arama: yüklediğiniz görsele görsel olarak benzeyen ilanlar bulunur.
- Otomobil ilanlarının fotoğraflarındaki plaka okunur — araç plakasına göre aranabilir.
Piyasa fiyatı
Her gece son 90 günün ilanlarından her segment için medyan fiyat ve «olağan» fiyat aralığı hesaplanır. Aşırı ucuz ve aşırı pahalı ilanlar hesaptan çıkarılır, 8’den az ilanı olan segment gösterilmez. İlan sayfasındaki «piyasadan ucuz / pahalı» değerlendirmesi bu rakamlardan çıkar.
Tam metodoloji ve doğruluk tablosu →Öneriler
Ana sayfadaki «Önerilenler» akışı baktığınız ilanlardan oluşturulur.
- Hangi bölümlere, şehirlere ve fiyat aralığına baktığınız.
- «Bu ilana bakanlar bunlara da baktı» bağlantıları.
- Baktığınız ilanlara görsel olarak benzeyen ilanlar.
- Profil ayarlarında ilgi alanlarınızı kendiniz seçebilir veya istemediğiniz bölümleri kapatabilirsiniz.
VIN sorgulama
VIN kodu birkaç açık kaynaktan paralel olarak çözülür ve sonuçlar birleştirilir: üretici kodları tablosu (marka ve ülke), ABD pazarı için NHTSA kaydı, Avrupa pazarı için İsviçre tip onayı kaydı. Ayrıca aynı VIN ile Prayk’ta görülen ilanlar, fiyat ve kilometre geçmişiyle gösterilir.
VIN ile sorgula →Telefon numaralarının korunması
Satıcının numarası sayfada ve API yanıtında maskeli gelir. Tam numara yalnızca «Numarayı göster» düğmesine basıldığında, kısa ömürlü anahtarla verilir — bu, numaraların toplu olarak toplanmasını zorlaştırır.
Teknik temel
- Sunucu
- Go ile yazılmıştır; tüm API açık bir OpenAPI tanımıyla belgelenmiştir.
- Veri
- İlanlar MySQL kümesinde, arama dizini Elasticsearch’te, görsel vektörleri Qdrant’ta saklanır.
- Görsel modeli
- Görsel benzerliğini hesaplayan model (CLIP) kendi sunucularımızda çalışır.
- Site ve uygulama
- Site Next.js, mobil uygulama React Native üzerindedir; ikisi de aynı API’den okur.