-
Notifications
You must be signed in to change notification settings - Fork 0
TR Concept Phonetic Accent Search
marufcetin edited this page Sep 1, 2026
·
1 revision
Turkce Dokumantasyon | English Documentation
Kategori: Mimari Kavramlar ve Prensipler
Alt Sistem: Arama ve Cok Dilli Motor (AmberDB::Locale,AmberDB::Index)
Madde Turu: Mimari Kavram
Fonetik Aksan Arama ve Dil Normalizasyonu, AmberDB'nin tam metin kelime indeksleme ve arama alt sistemidir (.src dosyalari).
Harici agir arama sunucularina (Elasticsearch veya Solr gibi) bagimli kalmaksizin, AmberDB veritabani cekirdegine gomulu olarak 9 yerel dilde (tr, en, de, fr, es, ja, ru, ar, az) akilli dilbilimsel normalizasyon uygular.
AmberDB Kelime Token Normalizasyon Boru Hatti
Giris Metni: "Ahmet'in Âlâ Kitâbı & Dağcı Çadırı"
1. Kesme Isareti ve Ek Temizleme > "Ahmet Âlâ Kitâbı Dağcı Çadırı"
2. Sapka ve Aksan Acilimi (â->a) > "ahmet ala kitabi dagci cadiri"
3. Fonetik Yumusama (b/d/g->p/t/k) > "ahmet ala kitapi takci catiri"
4. Ters Kelime Indeksleme (.src) > Aninda coklu eslesme kabiliyeti
-
Sapka ve Aksan Acilimi: Sapkalı ve aksanlı harfleri yerel kurallara gore acar (
â/î/û->a/i/u,é/è/ê->e). Kullanici"ala"arattiginda"Âlâ"baslikli urun eslesir. -
Fonetik Yumusama (Unsuz Sertlesmesi/Yumusama Uyumu): Kelime kokundeki tonlu sesleri dengeler (
b/d/g/c->p/t/k/c). Kullanici"kitap"arattiginda metindeki"kitabı"kelimesi yakalanir. -
Turkce Karakter Uyumu: Noktali/noktasiz
ı/Ivei/İdonusumunu hatasiz yonetir; standart ASCII kucultme hatalarini onler. -
Kesme Isareti (Apostrof) Temizligi: Ozel isim eklerini (
"Ahmet'in","İstanbul'da") govdeden ayirarak"ahmet","istanbul"koklerine ulasir. -
Joker Karakter (Wildcard): Kelime onu veya sonu aramalarinda
*sembolu ile onek tamamlama (orn:"kulak*").
# Turkce dil destegi ile baslatma
my $adb = AmberDB->new(
cfg => { language => "tr" },
path => { dbase_dir => "./dbstore" }
);
# Veritabanina eklenen kayit: "İstanbul'daki Âlâ Kitap Kafe"
$adb->insert_id("shops", 0, "İstanbul'daki Âlâ Kitap Kafe", "Kadıköy");
# 1. Duz ASCII ve sapkasiz arama:
my ($sayi1, @sonuc1) = $adb->search_table("shops", "istanbul ala");
# Basariyla eslesir!
# 2. Yumusamis / ek almis arama:
my ($sayi2, @sonuc2) = $adb->search_table("shops", "kitabı");
# Basariyla eslesir!AmberDB — High-Performance Schema-Driven NoSQL Database Engine for Perl.
Copyright 2005-2026 Maruf Cetin. Released under the Artistic License 2.0.
CPAN · GitHub Repository · Issue Tracker
- Berkeley DB (DB_File) Engine
- AmberDB Table Schema
- Global Flags
- Table Schema Flags
- Directory Structure
- File Structure (Extensions)
- Repeat Blocks
- Auto-Increment ID
- ASCII ID
- Relational Records
- Record Anatomy
- JOIN-Free Architecture
- Packed Binary Index
- Strict 2PL Locking
- Undo Journal & Rollback
- Tiered Junk Indexing
- Disjunctive Faceting
- Phonetic Accent Search
- 2-Pillar Disaster Recovery
- RAM-Disk Acceleration
- In-Memory Schema Mutation
- Simple Mode
- new
- config
- set_datadir
- insert_id
- insert_list
- modify_id
- modify_list
- delete_id
- delete_list
- read_id
- read_all
- read_list
- exist_id
- exist_list
- exist_table
- table_count
- table_keys
- table_lastid
- table_attr
- table_create
- field_fetch
- field_filter
- search_table
- facet_menu
- field_fltkeys
- field_allfltkeys
- facet_rules
- slug_read
- slug_fetch
- transact_start
- transact_end
- transact_commit
- transact_rollback
- transact_recover
- flock_open
- flock_close
- cache_setup
- cache_read
- cache_write
- cache_delete
- cache_preload
- cache_ensure
- buffer_write
- buffer_read
- buffer_delete
- recs_scan
- recs_get
- recs_put
- recs_del
- locale_uc
- locale_lc
- locale_sort
- locale_to_ascii
- locale_num2text
- locale_format_currency
- locale_format_date
- array_sort
- array_punch
- array_filter
- array_sublist
- deep_copy
- log_owner
- use_counter
- use_junk
- keep_deleted
- auto_id
- buffer_write
- simple
- no_write
- no_backup
- jnktype
- keys_only
- id_type
- language
- .db · .table · .dbase
- .inx · .fld · .src
- .fac · .srt · .slg
- .unq · .del · .aut
- .cnt · .txn · .amberdb
- .csv · .cache · .tmp