Yazılımda Arama Neden Kayıt Bulamıyor? Çözüm Yolları
Yazılımda arama kutusuna doğru kelimeyi yazdığınız hâlde kayıt gelmiyorsa sebep neredeyse her zaman üç başlıktan biridir: harflerin karşılaştırılma biçimi, aramanın kelimenin neresinden eşleştiği ve aramanın hangi alanlarda yapıldığı. Kayıt veritabanında durmaktadır; arama onu göremiyordur.
Aşağıdaki başlıklar bu üç sebebi ve sık karşılaşılan ürün kodu sorununu sırayla açıyor, sonunda da sorunu adım adım daraltmak için bir kontrol listesi veriyor.
Türkçe karakter ve büyük-küçük harf
En sık görülen sebep budur. Kullanıcı sahin yazar, kayıt Şahin olarak girilmiştir ve arama hiçbir şey bulmaz. Aynı sorun ı ile i, o ile ö, u ile ü, c ile ç arasında da yaşanır.
Üstelik Türkçe, büyük harfe çevirmede diğer dillerden ayrılır: küçük i harfinin büyüğü İ, küçük ı harfinin büyüğü I olmalıdır. Veritabanı ya da uygulama bu kuralı bilmeyen bir dil ayarıyla çalışıyorsa, aynı kelime iki yerde farklı biçimde büyütülür ve karşılaştırma tutmaz.
Çözüm iki adımdır. Önce veritabanı ve sütun düzeyindeki karşılaştırma ayarının Türkçe metin için uygun ve projenin tamamında aynı olduğundan emin olun. Sonra aramaya girilen metni ve aranan alanı aynı kurala göre sadeleştirin: harfleri küçültün, aksanları kaldırın, baştaki ve sondaki boşlukları atın. Bu sadeleştirilmiş hâli ayrı bir arama sütununda saklamak, hem sonucu tutarlı yapar hem de aramayı hızlandırır.
Kısmi eşleşme: kelimenin ortasından arama
İkinci sebep, aramanın yalnızca baştan eşleşmesidir. Yılmaz Otomotiv kaydı, kullanıcı otomotiv yazdığında gelmez; çünkü arama ifadesi kelimenin başına sabitlenmiştir.
Kullanıcılar firma adlarını nadiren baştan yazar. Çoğu zaman akılda kalan ortadaki kelimedir. Bu yüzden kurumsal panellerde arama, metnin herhangi bir yerinde eşleşecek biçimde kurulmalıdır. Bunun bedeli performanstır: kelimenin ortasından arama, klasik dizinleri kullanamaz ve tablo büyüdükçe yavaşlar. Çözüm, tam metin araması ya da bu tür sorguları destekleyen bir dizin kullanmaktır.
Araya giren bir ayrıntı daha var: birden fazla kelime yazıldığında ne olacağı. yilmaz otomotiv sorgusunun iki kelimeyi de içeren kayıtları mı yoksa herhangi birini içerenleri mi getireceği karara bağlanmalıdır. Kurumsal panellerde genellikle hepsini içerenler doğru davranıştır; sonuç boş gelirse arama herhangi birine genişletilebilir.
Ürün kodları: tire, boşluk ve nokta
Ürün kodu araması kendi başına bir konudur, çünkü kodlar insan tarafından farklı biçimlerde yazılır. Katalogda ABC-120/4 olan kod, kullanıcı tarafından abc 120 4 ya da abc1204 diye aranır.
| Kullanıcı ne yazar | Kayıtta ne var | Ne yapılmalı |
|---|---|---|
| abc1204 | ABC-120/4 | Noktalama ve boşluk atılmış bir karşılaştırma sütunu tutulmalı |
| ABC 120 | ABC-120/4 | Kısmi eşleşme açık olmalı |
| 8690000000000 | Barkod alanı | Yalnızca rakamsa barkod alanında tam eşleşme denenmeli |
| sarı kablo 2m | Ürün adı ve açıklama | Kelime kelime, birden çok alanda aranmalı |
Pratik yöntem, her ürün için noktalamasız ve boşluksuz bir arama anahtarı üretip saklamaktır. Kullanıcının yazdığı metni de aynı kuraldan geçirirsiniz; böylece yazım farkları ortadan kalkar.
Arama hangi alanlarda yapılıyor?
Üçüncü sebep çoğu zaman gözden kaçar: arama yalnızca bir alana bakıyordur. Müşteri aramasının yalnızca unvana bakması, kullanıcının vergi numarası ya da telefon son dört hanesiyle aradığında sonuç alamaması demektir.
Her liste ekranı için hangi alanların aranacağını yazılı olarak belirleyin. Müşteri listesinde unvan, kısa ad, vergi numarası ve e-posta; sipariş listesinde sipariş numarası, müşteri adı ve kargo takip numarası tipik bir seçimdir. Alan sayısını genişletmek sonucu iyileştirir ama sorguyu ağırlaştırır; bu yüzden listeyi sınırlı ve bilinçli tutun.
Sonuçların sırası da önemlidir. Tam eşleşen kayıt, içinde geçen kayıttan önce gelmelidir; aksi hâlde kullanıcı aradığı kaydı ikinci sayfada bulur ve aramanın çalışmadığını düşünür.
Silinmiş ya da pasife alınmış kayıtların arama sonucuna girip girmeyeceği de ayrıca kararlaştırılmalıdır. Varsayılan davranış genellikle onları gizlemektir; ancak kullanıcı eski bir müşteriyi arayıp bulamadığında kaydı yeniden açar ve aynı firma sistemde iki kez oluşur. Pratik çözüm, pasif kayıtları sonuç listesinin altında ve pasif olduğu belirtilerek göstermektir.
Arama yavaşsa ne yapılır?
Doğru sonucu getiren ama üç saniye süren arama da bozuktur. Yavaşlığın ilk sebebi genellikle dizin eksikliğidir; ikinci sebep, kelimenin ortasından yapılan aramanın dizini kullanamamasıdır.
Sırasıyla şunlara bakılır: aranan alanlarda dizin var mı, sorgu her seferinde tüm tabloyu mu tarıyor, sonuç sayfalanıyor mu, kullanıcı yazarken her harfte sorgu atılıyor mu. Son madde tek başına sunucu yükünü birkaç katına çıkarabilir; kullanıcı yazmayı bıraktıktan kısa bir süre sonra sorgu atmak çoğu zaman yeterlidir. Genel teşhis sırası için yazılım yavaşladığında nereye bakılır yazısı yol gösterir.
Kısa kontrol listesi
- Aynı kaydı büyük harfle ve küçük harfle aradığınızda sonuç değişiyor mu?
- Türkçe karakter yerine yakın Latin harfi yazıldığında kayıt geliyor mu?
- Kelimenin ortasından arandığında sonuç çıkıyor mu?
- Ürün kodu tiresiz ve boşluksuz yazıldığında bulunuyor mu?
- Hangi alanlarda arandığı yazılı mı, vergi numarası ve telefon dâhil mi?
- Tam eşleşen kayıt listenin başında mı geliyor?
- Sonuç kaç saniyede geliyor ve aranan alanlarda dizin var mı?
KAV Yazılım, geliştirdiği panellerde arama davranışını bu başlıklar üzerinden tanımlar; hangi alanda, hangi eşleşme kuralıyla ve hangi sırayla arandığı teslim belgesinde yazılı olur.
Sık sorulan sorular
Arama kutusuna yazılan Türkçe karakterler neden sonuç değiştiriyor?
Kelimenin ortasından arama yapmak sistemi yavaşlatır mı?
Ürün kodu araması neden ayrı ele alınmalı?
Aramada hangi alanlar taranmalı?
Kullanıcı yazarken her harfte arama yapmak doğru mu?
- arama
- performans
- veri kalitesi
- veritabani
