Manticore Search
BM25 ranking ile gelişmiş full-text arama. Hash index'e ek olarak profesyonel arama motoru.
Genel Bakış
Manticore Search, Colpan’ın gelişmiş arama motorudur. Hash-tabanlı index’e ek olarak BM25 relevance ranking sunar.
Temel Özellikler:
- BM25 skorlama (alakalılık sıralaması)
- Full-text search
- Profil bazlı veri izolasyonu
- Otomatik daemon yönetimi
Hash Index vs Manticore
| Özellik | Hash Index | Manticore |
|---|---|---|
| Bağımlılık | Yok | Embedded daemon |
| Ranking | Yok (alfabetik) | BM25 (alakalılık) |
| Karmaşık sorgular | Orta | Hızlı |
| Offline çalışma | Evet | Evet |
| Disk kullanımı | Düşük | Orta |
| Bellek kullanımı | Düşük | Orta-Yüksek |
Ne Zaman Hangisi?
| Senaryo | Önerilen |
|---|---|
| Basit aramalar | Hash Index |
| En alakalı sonuçlar | Manticore |
| Düşük kaynaklı sistem | Hash Index |
| Profesyonel kullanım | İkisi birlikte |
Daemon Yaşam Döngüsü
Manticore daemon, arka planda çalışan bir servis olarak yönetilir.
Durumlar
| Durum | Simge | Açıklama |
|---|---|---|
| IDLE | ⚫ | Çalışmıyor, başlatılmadı |
| STARTING | 🟡 | Başlatılıyor, health check bekleniyor |
| READY | 🟢 | Çalışıyor, sorgu kabul ediyor |
| ERROR | 🔴 | Başlatma başarısız (max 3 deneme) |
Durum Çubuğu Göstergesi
Manticore: 🟢 READY | 15.432 belge
Başlatma
Manticore otomatik olarak şu durumlarda başlar:
- Uygulama açıldığında (aktifse)
- İlk Manticore araması yapıldığında
- Manuel olarak “Başlat” tıklandığında
Başlatma Süreci:
- Config dosyası oluşturulur
- Daemon process başlatılır
- Health check yapılır (HTTP 9308)
- Index yüklenir
- READY durumuna geçilir
Durdurma
Daemon şu durumlarda durur:
- Uygulama kapandığında (otomatik)
- Manuel olarak “Durdur” tıklandığında
- Hata durumunda (3 deneme sonrası)
Port Kullanımı
| Port | Protokol | Kullanım |
|---|---|---|
| 9308 | HTTP | REST API (arama, indexleme) |
| 9306 | MySQL | SQL sorguları (opsiyonel) |
Port Çakışması: Eğer portlar başka uygulama tarafından kullanılıyorsa:
- Bilgisayarı yeniden başlatın
- Veya çakışan uygulamayı kapatın
Profil Bazlı Veri İzolasyonu
Her profil kendi Manticore veritabanına sahiptir.
Yapı:
%TEMP%\Colpan\
├── manticore_data_0\ (Profil 1)
│ ├── binlog\
│ ├── docs_idx\
│ └── manticore.pid
├── manticore_data_1\ (Profil 2)
├── manticore_data_2\ (Profil 3)
├── manticore_data_3\ (Profil 4)
└── manticore_data_4\ (Profil 5)
Profil Değiştirme:
- Daemon durdurulur
- Yeni profil data_dir’i ayarlanır
- Daemon yeniden başlatılır
- Yeni profilin indexi yüklenir
CQL → Manticore Dönüşümü
Colpan sorguları otomatik olarak Manticore formatına çevrilir.
Dönüşüm Kuralları
| CQL | Manticore | Açıklama |
|---|---|---|
ali baba | ali baba | Implicit AND |
ali ; baba | ali baba | Explicit AND |
ali | baba | ali | baba | OR (aynı) |
!ali | -ali | NOT |
"tam ifade" | "tam ifade" | Phrase (aynı) |
(a | b) c | (a | b) c | Gruplama (aynı) |
Örnekler
Basit Dönüşüm:
CQL: boşanma ; nafaka
Manticore: boşanma nafaka
Karmaşık Dönüşüm:
CQL: (TOKİ | "Toplu Konut") kamulaştırma !iptal
Manticore: (TOKİ | "Toplu Konut") kamulaştırma -iptal
Indexleme
Otomatik Indexleme
Hash index oluşturulurken Manticore index’i de paralel olarak güncellenir.
İşlem Sırası:
- UDF dosyası açılır
- content.xml okunur
- Hash index güncellenir
- Manticore’a document eklenir
Manuel Indexleme
- Dizine sağ tıklayın
- “Manticore’a İndeksle” seçin
- Progress dialog açılır
- Tamamlandığında arama yapılabilir
Bulk Insert
Büyük dizinler için optimize edilmiş toplu ekleme:
- 100 belge grubu halinde
- Tek transaction
- Daha az disk I/O
Arama
Manticore Araması Kullanma
- Sorgu kutusuna CQL yazın
- Enter’a basın
- Sonuçlar BM25 skoruna göre sıralanır
BM25 Skoru:
- 0-100 arası değer
- Yüksek skor = daha alakalı
- Sonuç listesinde görüntülenir
Hibrit Arama
Colpan, Hash ve Manticore sonuçlarını birleştirebilir:
- Hash: Hızlı filtreleme
- Manticore: Ranking
- Sonuç: Alakalılık sıralı hızlı sonuçlar
İstatistikler
Durum çubuğunda görüntülenen bilgiler:
| İstatistik | Açıklama |
|---|---|
| Belge sayısı | Index’teki toplam UDF |
| Index boyutu | Disk kullanımı |
| Son güncelleme | Son indexleme zamanı |
Sorun Giderme
Daemon başlamıyor
Belirtiler:
- Durum: ERROR
- Log: “Could not bind to port”
Çözümler:
- Port 9308/9306 kullanımda mı kontrol edin
- Bilgisayarı yeniden başlatın
- Antivirüs istisnası ekleyin
Arama sonuç vermiyor
Belirtiler:
- Durum: READY ama sonuç yok
Çözümler:
- Index’in güncel olduğundan emin olun
- “Manticore’a İndeksle” yapın
- Sorgu syntax’ını kontrol edin
Yavaş arama
Belirtiler:
- Arama birkaç saniye sürüyor
Çözümler:
- Daha spesifik sorgular kullanın
- Sonuç limitini azaltın
- RAM’i artırın
Index bozuk
Belirtiler:
- Hatalı sonuçlar
- Beklenmeyen crash
Çözümler:
- Manticore data dizinini silin:
%TEMP%\Colpan\manticore_data_N\ - Uygulamayı yeniden başlatın
- Tüm dizinleri yeniden indexleyin
Sistem Gereksinimleri
Minimum
| Bileşen | Değer |
|---|---|
| RAM | 4 GB |
| Disk | 1 GB boş alan |
| CPU | 2 çekirdek |
Önerilen
| Bileşen | Değer |
|---|---|
| RAM | 8 GB+ |
| Disk | SSD, 5 GB+ boş |
| CPU | 4+ çekirdek |
Devre Dışı Bırakma
Manticore kullanmak istemiyorsanız:
- Ayarlar > Arama Motoru
- “Sadece Hash Index” seçin
- Daemon başlatılmaz
Sonuç:
- Daha düşük kaynak kullanımı
- BM25 ranking olmadan arama
- Offline çalışma garantisi