Atlama kuralları
İndekse neyin girmediği, üç ayrı kural kaynağı, arayüzden yönetmek ve bir kural değiştiğinde ne olduğu.
Beklediğiniz bir dosya arama sonuçlarında çıkmıyorsa, ilk bakılacak yer atlama kurallarıdır.
Neden atlama var
Bir makinedeki dosyaların önemli bir kısmı hiç aranmaz. Derleme çıktısı, paket önbellekleri, .git nesneleri, node_modules — bunlar indekse girerse iki bedeli olur: indeks büyür ve arama sonuçları gürültüyle dolar. Ölçülen bir örnekte köklerde 4.786.967 dosya vardı; target/ tek başına 2.087.642’siydi, yani farkın %83’ü.
Bu yüzden Scour gömülü bir dizi kuralla gelir. Ama bunlar sizin kararınız olmalı, o yüzden hepsi kapatılabilir.
Üç kaynak, ayrı gösterilir
| Kaynak | Nerede | Silinebilir mi |
|---|---|---|
| Gömülü | kodda, 21 kural | hayır, ama kapatılabilir |
| config.toml | ~/.config/scour/config.toml |
elle yazdığınız satırlar; Scour bu dosyaya yazmaz |
| Eklenen | arayüzden eklenenler, indeksin yanında | evet |
Scour config.toml’a yazmaz. Sebebi basit: o dosyayı bir serileştiriciden geçirmek, içindeki yorumlarınızı ve notlarınızı siler.
Kural biçimi
| Biçim | Anlamı |
|---|---|
dir:node_modules |
bu adı taşıyan her klasör, nerede olursa olsun |
file:desktop.ini |
bu adı taşıyan her dosya |
path:/var/cache |
bu yolun altındaki her şey |
allow:target/release |
bir üst kuralın içinden geri alınan dizi |
Bir kural eklerken eğik çizgiyle başlıyorsa yol, başlamıyorsa ad sayılır. Arada tahmin yürütülmez.
Arayüzden yönetmek
Her yüzde “neler atlanıyor” düğmesi vardır. Üç kaynak ayrı ayrı listelenir, her kuralın yanında bir anahtar durur ve kaydettiğiniz anda geçerli olur.
Geçerli olması iki şey demektir ve ikisi de olmadan kural işe yaramaz: kurallar kilit arkasında değiştirilir ve çalışan her izleyici yeniden ayarlanır. İkincisi olmazsa tarama ağacı süpürür, izleyici eski kuralla her şeyi geri koyar.
Bir kural değiştiğinde ne oluyor
Üç ayrı fiyat var ve hangisini ödeyeceğiniz ne değiştirdiğinize bağlı:
| Değişiklik | Ne olur | Ölçüm |
|---|---|---|
| Kural eklendi ya da açıldı | indeks yürünür, uyanlar silinir — diske gidilmez | 2,1 sn / 2,25 M satır |
path: kuralı kapatıldı |
yalnız o alt ağaç taranır | ağacın boyuna göre |
dir: / file: kuralı kapatıldı |
tam tarama, kaçınılmaz | dosya sayısına göre |
Üçüncüsü kaçınılmazdır çünkü kapatılan kural her yerde geçerliydi; nerede dosya bıraktığını bilmenin tek yolu bakmaktır.
Sayım neden yok
Bir kuralın yanında “kaç dosya atlandı” yazmaz, ve bu bilerek böyledir: bir kuralın attığı dosya tanımı gereği indekste yoktur. Sayıyı göstermek için indekste olmayan bir şeyi saymak, yani diski yürümek gerekirdi.