Bölüm 12 / 33
Arama, Filtreleme, Sıralama ve Listeleme Yapıları
Yönetim panelleri, e-ticaret katalogları, CRM listeleri ve büyük veri ekranlarında kullanılan listeleme modelleri.
8 canlı örnek — seçerek incele
İlgili kavramlar: Table, Sorting, Pagination
Tablo + sıralama
| Koşu Ayakkabısı | 24 | ₺2.499 |
| Spor Çorap | 0 | ₺129 |
| Su Matarası | 120 | ₺249 |
| Sırt Çantası | 8 | ₺899 |
Kullanıcının metin veya ölçütle ilgili kayıtları bulma işlemi.
Arama değerinin alanla tamamen aynı olmasını isteyen eşleşme.
Arama değerinin alanın bir bölümünde bulunmasını yeterli gören eşleşme.
Metnin belirli başlangıç karakterleriyle eşleşmesini arar.
Aranan ifadenin metnin herhangi bir yerinde bulunmasını arar.
Büyük-küçük harf farkını önemsemeyen arama.
Türkçe karakter veya aksan farklılıklarını normalize ederek arama.
Arama öncesi metni küçük harf, boşluk ve karakter kurallarıyla standartlaştırma.
Metni kelime veya anlamlı parçalara ayırma.
Aramada anlam katkısı düşük olduğu için göz ardı edilebilen yaygın kelime.
Kelimeleri dilbilgisel eklerinden arındırıp köke yakın forma indirme.
Kelimeyi sözlükteki temel biçimine dönüştürme.
Metni kelime, sıralama ve dil kurallarıyla index'leyip arama.
Her terimin hangi belge veya kayıtlarda geçtiğini tutan ters index.
Bir sonucun arama sorgusuna ne kadar uygun olduğunu sayısal puanla ifade eder.
Arama sonuçlarını uygunluk, popülerlik ve iş kurallarına göre sıralama.
Belirli alan veya kayıtların arama puanını artırma.
Yazım hatası veya küçük karakter farklarına toleranslı arama.
İki metni eşitlemek için gereken ekleme, silme ve değiştirme sayısı.
Aynı veya yakın anlamlı kelimeleri ortak arama sonucu için eşleme.
Kullanıcı yazarken olası sorgu veya kayıt önerileri gösterme.
Yazılan karakterlerle anlık daralan öneri listesi.
Geçmiş, popülerlik veya içerik üzerinden önerilen sorgu.
Kategori, marka, renk ve fiyat gibi boyutlarla sonuçları çoklu daraltma.
Filtrelenebilir bir veri boyutu ve bu boyuttaki seçenekler.
Kayıtları belirli alan veya koşullara göre daraltma.
Seçeneklerden yalnızca birinin uygulanabildiği filtre.
Birden fazla seçeneğin aynı anda uygulanabildiği filtre.
Fiyat, tarih veya puan gibi değerleri alt-üst sınırla filtreleme.
Başlangıç ve bitiş tarihine göre kayıtları sınırlar.
Evet/hayır veya aktif/pasif gibi iki durumlu filtre.
Bir filtrenin seçeneklerini başka filtrenin seçimine göre belirleme.
Uygulanan filtreyi görünür ve kaldırılabilir küçük etiketle gösterir.
Aktif tüm filtreleri varsayılan duruma döndürür.
- SortT
Kayıtların gösterim sırasını seçilen alana göre değiştirme.
Küçükten büyüğe veya A'dan Z'ye sıralama.
Büyükten küçüğe veya Z'den A'ya sıralama.
Birden fazla alanı öncelik sırasıyla kullanarak sıralama.
Kullanıcı seçim yapmadığında uygulanan başlangıç sırası.
İş kurallarından üretilen skor veya manuel sıra alanıyla sıralama.
Kayıtları sütunlar ve satırlar hâlinde yoğun bilgiyle gösterir.
Kayıtları görsel ve özet bilgi içeren kartlarla gösterir.
Kayıtları kompakt yatay satırlar biçiminde gösterir.
Kartları çok sütunlu düzen içinde gösterir.
Hiyerarşik kayıtları açılıp kapanabilen düğümlerle gösterir.
Listeden seçilen kaydın ayrıntısını aynı ekranda gösterir.
Kullanıcının tabloda hangi sütunların görüneceğini seçmesi.
Tablo sütunlarının kullanıcı tarafından yeniden sıralanması.
Tablo sütun genişliklerinin kullanıcı tarafından değiştirilmesi.
Tablo kaydırılırken sütun başlıklarının görünür kalması.
Yatay kaydırmada önemli sütunun sabit kalması.
Tek veya çok sayıda kayıt satırını işaretleme.
Seçili birden fazla kayıt üzerinde toplu işlem yapma.
Kayıt alanını detay sayfasına gitmeden listede düzenleme.
Kaydın temel ayrıntılarını modal veya panelde hızlı gösterme.
Filtre, sıralama ve sütun ayarlarını isimlendirip tekrar kullanma.
Arama sorgusu ve filtre kombinasyonunu kaydetme.
Ekran açıldığında kullanılan görünüm ve filtre düzeni.
Büyük sonucu numaralı sayfalara bölme.
1, 2, 3 gibi sayfa numaralarıyla gezinme.
LIMIT ve OFFSET kullanarak sayfa verisi getirme.
Son kaydın sıralama anahtarını kullanarak sonraki sayfayı getirme.
Sıralama alanları üzerinden offset kullanmadan kararlı ve hızlı sayfalama.
Bir sayfada gösterilecek kayıt sayısı.
Filtreye uyan toplam kayıt sayısı.
Liste sonuna yaklaşınca otomatik yeni kayıt yükleme.
Yalnızca görünür satırları DOM'da oluşturarak büyük liste performansını koruma.
Arama, filtre, sort ve pagination işlemlerini backend/veritabanında yapma.
Küçük veri kümesinde liste işlemlerini tarayıcıda yapma.
Liste verisini CSV, Excel veya PDF formatında dışa aktarma.
CSV veya Excel verisini doğrulayarak sisteme toplu aktarma.
İçe aktarılan dosya sütunlarını sistem alanlarıyla eşleme.
Aktarım veya kayıt sırasında benzer/aynı kayıtları belirleme.
Arama veya filtre sonucu kayıt bulunmadığında gösterilen durum.
Sistemde henüz hiç kayıt bulunmadığında gösterilen başlangıç durumu.
Arama ve filtre durumunu URL query parametrelerinde tutma.
Filtrelenmiş görünümün URL ile paylaşılabilir ve tekrar açılabilir olması.
Dağıtık full-text arama ve analitik motoru.
Elasticsearch kökenli açık kaynak arama ve analitik platformu.
Uygulama araması için hızlı ve geliştirici dostu arama motoru.
Hosted arama, autocomplete ve ranking servisi.
PostgreSQL içinde tsvector ve tsquery ile metin arama sistemi.
Benzerlik ve substring aramalarını üçlü karakter parçalarıyla hızlandıran index.
Kullanıcı sorguları, sonuç sayıları ve tıklamaları ölçme.
Hiç sonuç üretmeyen ve içerik/ürün açığını gösteren arama sorgusu.
Arama sonucunu görenlerden bir sonuca tıklayanların oranı.
| Kavram | Seviye | Kısa açıklama |
|---|---|---|
| Search | T | Kullanıcının metin veya ölçütle ilgili kayıtları bulma işlemi. |
| Exact Match | T | Arama değerinin alanla tamamen aynı olmasını isteyen eşleşme. |
| Partial Match | T | Arama değerinin alanın bir bölümünde bulunmasını yeterli gören eşleşme. |
| Prefix Search | T | Metnin belirli başlangıç karakterleriyle eşleşmesini arar. |
| Substring Search | T | Aranan ifadenin metnin herhangi bir yerinde bulunmasını arar. |
| Case-insensitive Search | T | Büyük-küçük harf farkını önemsemeyen arama. |
| Accent-insensitive Search | O | Türkçe karakter veya aksan farklılıklarını normalize ederek arama. |
| Normalization | O | Arama öncesi metni küçük harf, boşluk ve karakter kurallarıyla standartlaştırma. |
| Tokenization | O | Metni kelime veya anlamlı parçalara ayırma. |
| Stop Word | O | Aramada anlam katkısı düşük olduğu için göz ardı edilebilen yaygın kelime. |
| Stemming | İ | Kelimeleri dilbilgisel eklerinden arındırıp köke yakın forma indirme. |
| Lemmatization | İ | Kelimeyi sözlükteki temel biçimine dönüştürme. |
| Full-text Search | O | Metni kelime, sıralama ve dil kurallarıyla index'leyip arama. |
| Inverted Index | İ | Her terimin hangi belge veya kayıtlarda geçtiğini tutan ters index. |
| Relevance Score | O | Bir sonucun arama sorgusuna ne kadar uygun olduğunu sayısal puanla ifade eder. |
| Ranking | O | Arama sonuçlarını uygunluk, popülerlik ve iş kurallarına göre sıralama. |
| Boosting | İ | Belirli alan veya kayıtların arama puanını artırma. |
| Fuzzy Search | O | Yazım hatası veya küçük karakter farklarına toleranslı arama. |
| Edit Distance | İ | İki metni eşitlemek için gereken ekleme, silme ve değiştirme sayısı. |
| Synonym | O | Aynı veya yakın anlamlı kelimeleri ortak arama sonucu için eşleme. |
| Autocomplete | T | Kullanıcı yazarken olası sorgu veya kayıt önerileri gösterme. |
| Typeahead | T | Yazılan karakterlerle anlık daralan öneri listesi. |
| Search Suggestion | T | Geçmiş, popülerlik veya içerik üzerinden önerilen sorgu. |
| Faceted Search | O | Kategori, marka, renk ve fiyat gibi boyutlarla sonuçları çoklu daraltma. |
| Facet | O | Filtrelenebilir bir veri boyutu ve bu boyuttaki seçenekler. |
| Filter | T | Kayıtları belirli alan veya koşullara göre daraltma. |
| Single-select Filter | T | Seçeneklerden yalnızca birinin uygulanabildiği filtre. |
| Multi-select Filter | T | Birden fazla seçeneğin aynı anda uygulanabildiği filtre. |
| Range Filter | T | Fiyat, tarih veya puan gibi değerleri alt-üst sınırla filtreleme. |
| Date Range | T | Başlangıç ve bitiş tarihine göre kayıtları sınırlar. |
| Boolean Filter | T | Evet/hayır veya aktif/pasif gibi iki durumlu filtre. |
| Dependent Filter | O | Bir filtrenin seçeneklerini başka filtrenin seçimine göre belirleme. |
| Filter Chip | T | Uygulanan filtreyi görünür ve kaldırılabilir küçük etiketle gösterir. |
| Clear Filters | T | Aktif tüm filtreleri varsayılan duruma döndürür. |
| Sort | T | Kayıtların gösterim sırasını seçilen alana göre değiştirme. |
| Ascending | T | Küçükten büyüğe veya A'dan Z'ye sıralama. |
| Descending | T | Büyükten küçüğe veya Z'den A'ya sıralama. |
| Multi-column Sort | O | Birden fazla alanı öncelik sırasıyla kullanarak sıralama. |
| Default Sort | T | Kullanıcı seçim yapmadığında uygulanan başlangıç sırası. |
| Custom Rank | O | İş kurallarından üretilen skor veya manuel sıra alanıyla sıralama. |
| Table View | T | Kayıtları sütunlar ve satırlar hâlinde yoğun bilgiyle gösterir. |
| Card View | T | Kayıtları görsel ve özet bilgi içeren kartlarla gösterir. |
| List View | T | Kayıtları kompakt yatay satırlar biçiminde gösterir. |
| Grid View | T | Kartları çok sütunlu düzen içinde gösterir. |
| Tree View | O | Hiyerarşik kayıtları açılıp kapanabilen düğümlerle gösterir. |
| Master-detail View | O | Listeden seçilen kaydın ayrıntısını aynı ekranda gösterir. |
| Column Visibility | T | Kullanıcının tabloda hangi sütunların görüneceğini seçmesi. |
| Column Reordering | O | Tablo sütunlarının kullanıcı tarafından yeniden sıralanması. |
| Column Resize | O | Tablo sütun genişliklerinin kullanıcı tarafından değiştirilmesi. |
| Sticky Header | T | Tablo kaydırılırken sütun başlıklarının görünür kalması. |
| Sticky Column | O | Yatay kaydırmada önemli sütunun sabit kalması. |
| Row Selection | T | Tek veya çok sayıda kayıt satırını işaretleme. |
| Bulk Action | T | Seçili birden fazla kayıt üzerinde toplu işlem yapma. |
| Inline Editing | O | Kayıt alanını detay sayfasına gitmeden listede düzenleme. |
| Quick View | T | Kaydın temel ayrıntılarını modal veya panelde hızlı gösterme. |
| Saved View | O | Filtre, sıralama ve sütun ayarlarını isimlendirip tekrar kullanma. |
| Saved Search | O | Arama sorgusu ve filtre kombinasyonunu kaydetme. |
| Default View | T | Ekran açıldığında kullanılan görünüm ve filtre düzeni. |
| Pagination | T | Büyük sonucu numaralı sayfalara bölme. |
| Page Number Pagination | T | 1, 2, 3 gibi sayfa numaralarıyla gezinme. |
| Offset Pagination | O | LIMIT ve OFFSET kullanarak sayfa verisi getirme. |
| Cursor Pagination | O | Son kaydın sıralama anahtarını kullanarak sonraki sayfayı getirme. |
| Keyset Pagination | İ | Sıralama alanları üzerinden offset kullanmadan kararlı ve hızlı sayfalama. |
| Page Size | T | Bir sayfada gösterilecek kayıt sayısı. |
| Total Count | T | Filtreye uyan toplam kayıt sayısı. |
| Infinite Scroll | O | Liste sonuna yaklaşınca otomatik yeni kayıt yükleme. |
| Virtual Scrolling | İ | Yalnızca görünür satırları DOM'da oluşturarak büyük liste performansını koruma. |
| Server-side Processing | O | Arama, filtre, sort ve pagination işlemlerini backend/veritabanında yapma. |
| Client-side Processing | T | Küçük veri kümesinde liste işlemlerini tarayıcıda yapma. |
| Export | T | Liste verisini CSV, Excel veya PDF formatında dışa aktarma. |
| Import | T | CSV veya Excel verisini doğrulayarak sisteme toplu aktarma. |
| Column Mapping | O | İçe aktarılan dosya sütunlarını sistem alanlarıyla eşleme. |
| Duplicate Detection | O | Aktarım veya kayıt sırasında benzer/aynı kayıtları belirleme. |
| Empty Result | T | Arama veya filtre sonucu kayıt bulunmadığında gösterilen durum. |
| No Data State | T | Sistemde henüz hiç kayıt bulunmadığında gösterilen başlangıç durumu. |
| Query Parameter State | O | Arama ve filtre durumunu URL query parametrelerinde tutma. |
| Deep-linkable Filter | O | Filtrelenmiş görünümün URL ile paylaşılabilir ve tekrar açılabilir olması. |
| Elasticsearch | O | Dağıtık full-text arama ve analitik motoru. |
| OpenSearch | O | Elasticsearch kökenli açık kaynak arama ve analitik platformu. |
| Meilisearch | O | Uygulama araması için hızlı ve geliştirici dostu arama motoru. |
| Algolia | O | Hosted arama, autocomplete ve ranking servisi. |
| PostgreSQL Full-text Search | O | PostgreSQL içinde tsvector ve tsquery ile metin arama sistemi. |
| Trigram Index | İ | Benzerlik ve substring aramalarını üçlü karakter parçalarıyla hızlandıran index. |
| Search Analytics | O | Kullanıcı sorguları, sonuç sayıları ve tıklamaları ölçme. |
| Zero-result Query | O | Hiç sonuç üretmeyen ve içerik/ürün açığını gösteren arama sorgusu. |
| Click-through Rate | O | Arama sonucunu görenlerden bir sonuca tıklayanların oranı. |
Bölüm uygulamaları
Bu bölümü bitirmeden önce şunları deneyin veya açıklayın.
- Bir ürün kataloğu için arama, facet, fiyat aralığı, sort ve cursor pagination API sözleşmesi tasarlayın.
- CRM müşteri listesi için kaydedilebilir görünüm, sütun seçimi ve toplu işlem özelliklerini planlayın.
- Offset ve cursor pagination'ın veri değişirken nasıl farklı sonuç ürettiğini örnekle gösterin.