DBmeta GEODI, varsayılan olarak adlandırdığımız bir yapı ile burada söz edilen davranış modelleri değişebilir. Bu sayfa DBmetalar hakkında gerekli bilgiyi içeriyor.
DBmetalar “Settings\Reader\DBMeta” altındaki jsettings dosyalarıdır.
Table of Contents |
---|
...
bir veritabanındaki seçili veya tüm tabloları bazı varsayılan davranışlarla indeksler. DBMeta’lar, bu davranışı değiştirmek için isteğe bağlı tanımlamalardır.
Gömülü veya bağlantılı dosyaları indekslemek, SQL’I indekslenecek satırları değiştirmek için bir DBMeta tanımlamanız gerekir.
DBMeta dosyaları *.jsettings uzantılıdır ve “Settings\Reader\DBMeta
" klasöründe olmalıdır.
Ayarların Etkisini Sınırlama
Ayarların etki alanını sınırlayabilirsiniz. Bu şekilde birden çok meta tanımın yapabilirsiniz. Her biri ayrı tablo/veritabanı için etkili olacaktır.
Key | Açıklama |
---|---|
WorkspaceName | Ayarların geçerli olacağı WorkSpace(ler). |
TableFilter | Ayarların geçerli olacağı Tablolar. |
ColumnFilter | Verilen kolonları içeren tablolar. (- verilirse ilgili kolonları içermeyen tablolar dikkate alınır). Birden çok verilirse ilişki VE dir. |
Columns | İndekslenecek veya dışarıda kalacak kolonlar |
Code Block | ||
---|---|---|
| ||
{ "Defines":[ { "__type":"Geodi.Database.Meta.DBView, Geodi.Database", "WorkspaceName":"0000-Promotional and Educational Videos", "TableFilter":"*", "ColumnFilter":"*", "Columns":"-FILEPATH,-SILINECEK,-Hazırlayan,-TARIH,-GEODIFILELINK" } ] } |
Satırlar GEODI’de nasıl görünür
...
Satırların adını belirleme
Her kayıt bir belgedir. GEODI için dosyalar neyse satırlar da o şekilde ele alınır. Varsayılanda ilk text kolon satırın adı olur. Satırın adı, doc:(…) sorgusunun kullandığı içeriktir.
DisplayNameMacro kullanarak her bir tablo için ayrı ayrı değiştirebilirsiniz. Başlık makrosunda Makroda diğer kolonları da kullanabilirsiniz. Makro kuralları sayfa sonunda verilmiştir.
...
Bir Tabloda Dosya İsmi Olmadan Gömülü Dosya Indexleme
Veritabanındaki tablo içerisinde dosya ismi bulunmadığında makro yardımı ile dosyalarınıza isimlendirme yapabilirisiniz.
Dosya uzantısı olmayan kayıtlar için default olarak *.pdf uzantı eklenir. İstenildiği şekilde meta üzerinde değişiklik yapılabilir.
VT içerisinde
FileNameColumnMacro
verilen sütunda dosya uzantısı olması gerekmektedir.Eğer kolon değerinde uzantı yok veya tüm dosyalar aynı tipte ise makro değerine uzantı eklenebilir.
Tablodaki dosya adı veritabanında yoksa,
FileNameColumnMacro
değerini kullanarak bir dosya adı oluşturabilirsiniz. Aşağıda iki örnek bulunmaktadır. İlk örnek basit bir örnektir. İkinci örnek bazı satırlarda uzantı değeri olmadığını varsayar.FileMemoColumn
, dosya akışıdır.Code Block language json { "Defines":[
Belge{ "__type":"Geodi.Database.Meta.DBSubContent, Geodi.Database", "TableFilter":"
[BelgeBelgeIDCMS.FileContentCore", "IDColumnMacro":"
'=string.Concat(d["EAID"],"-",d["UretimTarihi"],string.IsNullOrEmpty(d["DF"])?".pdf":d["DF"])',[FieldId][VersionNumber][MinorVersionNumber]", "FileNameColumnMacro":
"[Internalid][Extension]",
BelgeIcerik"FileMemoColumn":"
FileContent" }
] }
Örnekte,
Extension
sütununun dosya uzantısına sahip olduğu varsayılmaktadır. Bazı satırlarda boş değerler olabilir. Eğer uzantı yoksa dosyanın PDF olduğunu varsaydık. Makro, dosyaları atlamak için boş bir dize döndürebilir.
CMS.FileContentCoreCode Block language json { "Defines":[ { "__type":"Geodi.Database.Meta.DBSubContent, Geodi.Database", "TableFilter":"
FieldId][VersionNumber][MinorVersionNumberBelge", "IDColumnMacro":"[
[Internalid][Extension]"BelgeBelgeID]", "FileNameColumnMacro":'=string.Concat(d["
FileContentEAID"],"-",d["UretimTarihi"],string.IsNullOrEmpty(d["DF"])?".pdf":d["DF"])', "FileMemoColumn":"
BelgeIcerik" } ] }
...
Dosya Yolu ile
...
İndexleme
...
Bir kayıtta yer alan dosya linkleri ile belirtilen dosyaları da indexleyebilirsiniz. (*.csv dosyaları için desteklenmez.)
Key | Açıklama |
---|---|
| yer alığı dizinleri hesaplayan makro. Bu makro doğrudan bir alandaki (örneğin PATH) değer olabilir veya kayda ait diğer alanlar ile birlikte hesaplanan bir yol olabilir.( Örnek: VT üzerindeki PATH olan kolon ismi)Burada yazacağıız makro ile dosya yolları hesaplanır. Bu dosyalar ilgili satırın child içeriği olurlar. |
| Eğer dosya yolunda birden çok dosya varsa ayraç karakterini bu şekilde verebilirsiniz. |
...
language | json |
---|
...
verebilirsiniz. |
Code Block | ||
---|---|---|
| ||
{ "Defines":[ { "__type":"Geodi.Database.Meta.DBSubContent, Geodi.Database", "FileFullPathColumnMacro":"[PATH]", "DefinesFileFullPathColumnSplitter":["|" }, { "__type":"Geodi.Database.Meta.DBSubContent, Geodi.Database", "FileFullPathColumnMacro":"//server/files/[PATH][FILE].[EXTENTION]", "FileFullPathColumnSplitter":"|," } ] } |
Bir kolonda birden çok “PATH” içeren Excel kaynağı için meta dosyasını kullanarak indexleyebilirsiniz.
Code Block |
---|
"Defines":[}, { "__type":"Geodi.Database.Meta.DBSubContent, Geodi.Database", "FileFullPathColumnMacro":"[PATH]//server/files/[ID].tif", "FileFullPathColumnSplitter":"," } ] } |
*.csv dosyaları için desteklenmez.
Birincil Anahtar Kolonu Belirleme
...
Code Block | ||
---|---|---|
| ||
{ "Defines":[ { "__type":"Geodi.Database.Meta.DBSQL, Geodi.Database", "TableFilter":"ADA,IRTIFAK_HAKKI", "ColumnFilter":"ADA.ADA_NO,ADA.OBJECTID,IRTIFAK_HAKKI.OBJECTID,IRTIFAK_HAKKI.TABAKA", "NewName":"ADALAR2", "SQL":"SELECT * FROM ADA,IRTIFAKEASEMENT_HAKKIRIGHT WHERE IRTIFAK_HAKKI.OBJECTID=ADA.OBJECTID", "KeyColumns":"ADA.OBJECTID" } ] } |
...
Proje detay ayarlardan ContentReaderEnumerators → Veritabanınız → EnableAutoFieldIndex ayarını true yapıp projenizi yeniden taratmalısınız. Yeniden tarama büyük veride zaman alabilir, bu nedenle baştan planlanmasında yarar vardır.
Eğer veritabanı bağlantısını dosya bazlı olarak GEODI ye taratıyorsak bu ayarı kullanamayız.
Bu özellik aktif olduğunda. Veritabanında tanınan ve KLV'ye düşen kelimelerin yanında hangi kolonda bulundukları Veritabanındaki keşif sonuçlarında kolon adı yazacaktır.
...
Veritabanlarında
...
Örneklemeli Veri Keşifi Yapmak
GEODI varsayılan ayarlarda veritabanı içeriklerinin tümünü keşfeder. İsteğe bağlı olarak veritabanı içeriklerinizden örnekleme keşif yapabilirsiniz bu sayede tarama süresinde ve depolama alanından kazanç sağlayabilirsiniz.
Proje detay ayarlarından ContentReaderEnumerators → Veritabanınız → GenericSettings içerisine "DB.SamplingMode":100
eklenirse Tablolar/Seçilen Tablo/SQL sorgusu gibi kullanımlarda rastgele 100 kayıt işlenir.
...
ve depolama alanından kazanç sağlayabilirsiniz. GEODI her tablodan rastgele N örnek satır seçer.
Örnekleme ayarını Folder kaynakları için kullanırsanız dosya bazlı DB’ler de (excel,*.mdb,*.accdb gibi
...
) etkili olur.
...
Kolon adlarını çok dilli yapmak ve alias(eş anlamlı) tanımlamak
...