{"id":25472,"date":"2025-07-07T00:15:21","date_gmt":"2025-07-06T21:15:21","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/"},"modified":"2025-07-07T00:15:21","modified_gmt":"2025-07-06T21:15:21","slug":"postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/","title":{"rendered":"PostgreSQL&#8217;de Bulan\u0131k Metin Aramas\u0131 Nas\u0131l Kullan\u0131l\u0131r (\u00d6rneklerle)"},"content":{"rendered":"<p># PostgreSQL&#8217;de Bulan\u0131k Metin Aramas\u0131 Nas\u0131l Yap\u0131l\u0131r? (\u00d6rneklerle)<\/p>\n<p>PostgreSQL veritaban\u0131n\u0131zda tam e\u015fle\u015fmeyen, ancak benzer kelimeleri veya ifadeleri i\u00e7eren verileri aramak m\u0131 istiyorsunuz?  \u00d6rne\u011fin, m\u00fc\u015fteri adlar\u0131nda yaz\u0131m hatalar\u0131 veya farkl\u0131 varyasyonlar nedeniyle arad\u0131\u011f\u0131n\u0131z bilgiyi bulam\u0131yor musunuz?  \u0130\u015fte bu noktada PostgreSQL&#8217;in sundu\u011fu g\u00fc\u00e7l\u00fc bulan\u0131k metin arama \u00f6zelliklerine ihtiyac\u0131n\u0131z var. Bu makalede, PostgreSQL&#8217;de bulan\u0131k metin aramas\u0131 yapmay\u0131, performans optimizasyonunu ve ger\u00e7ek d\u00fcnya senaryolar\u0131n\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz.<\/p>\n<p><strong>\u00d6\u011frenme Yol Haritas\u0131:<\/strong><\/p>\n<p>* <strong>Yeni Ba\u015flayan:<\/strong>  <code class=\"language-\">LIKE<\/code> operat\u00f6r\u00fc ile basit bulan\u0131k arama,  <code class=\"language-\">%<\/code> ve <code class=\"language-\">_<\/code> wildcard&#8217;lar\u0131n\u0131n kullan\u0131m\u0131.<br \/>\n* <strong>Orta Seviye:<\/strong>  <code class=\"language-\">pg_trgm<\/code> uzant\u0131s\u0131 ile daha geli\u015fmi\u015f bulan\u0131k arama,  benzerlik skorlar\u0131n\u0131n kullan\u0131m\u0131, ger\u00e7ek hayat \u00f6rne\u011fi (\u00fcr\u00fcn ad\u0131 aramas\u0131).<br \/>\n* <strong>\u0130leri Seviye:<\/strong>  <code class=\"language-\">tsvector<\/code> ve <code class=\"language-\">tsquery<\/code> ile tam metin indekslemesi, performans analizi,  edge case&#8217;ler ve optimizasyon stratejileri.<\/p>\n<p><strong>PostgreSQL&#8217;de Bulan\u0131k Metin Aramas\u0131: Temel Kavramlar<\/strong><\/p>\n<p>Bulan\u0131k metin aramas\u0131, tam e\u015fle\u015fme yerine benzerli\u011fi temel alan bir arama y\u00f6ntemidir.  PostgreSQL&#8217;de bunu birka\u00e7 farkl\u0131 yolla ger\u00e7ekle\u015ftirebiliriz.  En basit y\u00f6ntem, <code class=\"language-\">LIKE<\/code> operat\u00f6r\u00fcn\u00fc ve wildcard karakterlerini (<code class=\"language-\">%<\/code> ve <code class=\"language-\">_<\/code>) kullanmakt\u0131r. <code class=\"language-\">%<\/code>, s\u0131f\u0131r veya daha fazla karakteri temsil ederken, <code class=\"language-\">_<\/code> tek bir karakteri temsil eder.<\/p>\n<p>\u00d6rne\u011fin, <code class=\"language-\">WHERE ad LIKE 'Ahmet%'<\/code> sorgusu, ad\u0131 &#8220;Ahmet&#8221; ile ba\u015flayan t\u00fcm kay\u0131tlar\u0131 getirecektir.  <code class=\"language-\">WHERE ad LIKE '%mehmet%'<\/code> ise, ad\u0131nda &#8220;mehmet&#8221; ge\u00e7en t\u00fcm kay\u0131tlar\u0131 getirecektir. Ancak bu y\u00f6ntem, b\u00fcy\u00fck metin k\u00fcmeleri i\u00e7in performans sorunlar\u0131na yol a\u00e7abilir.<\/p>\n<p><strong>PostgreSQL&#8217;de Bulan\u0131k Metin Aramas\u0131: Ad\u0131m Ad\u0131m Uygulamal\u0131 K\u0131lavuz (LIKE Operat\u00f6r\u00fc)<\/strong><\/p>\n<p>\u015eimdi, basit bir \u00f6rnek \u00fczerinde <code class=\"language-\">LIKE<\/code> operat\u00f6r\u00fcn\u00fc kullanarak ad\u0131m ad\u0131m bir bulan\u0131k arama yapal\u0131m.  \u00d6rne\u011fin, bir <code class=\"language-\">urunler<\/code> tablomuz olsun ve bu tabloda <code class=\"language-\">urun_adi<\/code> s\u00fctunu bulunsun.<\/p>\n<pre class=\"language-sql\"><code>CREATE TABLE urunler (\n    urun_id SERIAL PRIMARY KEY,\n    urun_adi VARCHAR(255)\n);\n\nINSERT INTO urunler (urun_adi) VALUES\n('Elma'),\n('Armut'),\n('Elma Suyu'),\n('K\u0131rm\u0131z\u0131 Elma'),\n('Armudu'),\n('Elmal\u0131 Turta');<\/code><\/pre>\n<p>\u015eimdi, ad\u0131nda &#8220;elma&#8221; ge\u00e7en \u00fcr\u00fcnleri bulmak i\u00e7in \u015fu sorguyu kullanabiliriz:<\/p>\n<pre class=\"language-sql\"><code>SELECT * FROM urunler WHERE urun_adi LIKE '%elma%';<\/code><\/pre>\n<p>Bu sorgu, &#8220;Elma&#8221;, &#8220;Elma Suyu&#8221;, &#8220;K\u0131rm\u0131z\u0131 Elma&#8221; ve &#8220;Elmal\u0131 Turta&#8221; kay\u0131tlar\u0131n\u0131 d\u00f6nd\u00fcrecektir.  G\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi, <code class=\"language-\">LIKE<\/code> operat\u00f6r\u00fc basit ve kullan\u0131m\u0131 kolayd\u0131r, ancak b\u00fcy\u00fck veritabanlar\u0131nda performans sorunlar\u0131na yol a\u00e7abilir.<\/p>\n<p><strong>pg_trgm Uzant\u0131s\u0131 ile Daha Geli\u015fmi\u015f Bulan\u0131k Arama<\/strong><\/p>\n<p><code class=\"language-\">LIKE<\/code> operat\u00f6r\u00fcn\u00fcn s\u0131n\u0131rl\u0131l\u0131klar\u0131n\u0131 a\u015fmak i\u00e7in PostgreSQL&#8217;in sundu\u011fu <code class=\"language-\">pg_trgm<\/code> uzant\u0131s\u0131n\u0131 kullanabiliriz.  Bu uzant\u0131, \u00fc\u00e7gram (\u00fc\u00e7 harflik diziler) tabanl\u0131 benzerlik kar\u015f\u0131la\u015ft\u0131rmas\u0131 yaparak daha geli\u015fmi\u015f bulan\u0131k arama olana\u011f\u0131 sa\u011flar.  \u00d6ncelikle uzant\u0131y\u0131 kurmal\u0131y\u0131z:<\/p>\n<pre class=\"language-sql\"><code>CREATE EXTENSION pg_trgm;<\/code><\/pre>\n<p>\u015eimdi, <code class=\"language-\">SIMILAR TO<\/code> operat\u00f6r\u00fcn\u00fc kullanarak daha karma\u015f\u0131k bulan\u0131k aramalar yapabiliriz.  \u00d6rne\u011fin, &#8220;elma&#8221; kelimesine benzer \u00fcr\u00fcnleri bulmak i\u00e7in:<\/p>\n<pre class=\"language-sql\"><code>SELECT * FROM urunler WHERE urun_adi SIMILAR TO '%elma%'; --LIKE ile ayn\u0131 sonu\u00e7\nSELECT * FROM urunler WHERE urun_adi % 'elma'; -- Daha h\u0131zl\u0131 ve pg_trgm kullan\u0131r.<\/code><\/pre>\n<p><code class=\"language-\">pg_trgm<\/code> ayr\u0131ca <code class=\"language-\">similarity()<\/code> fonksiyonunu kullanarak iki metin aras\u0131ndaki benzerlik skorunu da hesaplamam\u0131za olanak tan\u0131r:<\/p>\n<pre class=\"language-sql\"><code>SELECT urun_adi, similarity(urun_adi, 'elma') AS benzerlik_skoru FROM urunler ORDER BY benzerlik_skoru DESC;<\/code><\/pre>\n<p>Bu sorgu, her \u00fcr\u00fcn\u00fcn &#8220;elma&#8221; kelimesiyle benzerlik skorunu hesaplayarak en y\u00fcksek skordan en d\u00fc\u015f\u00fck skora do\u011fru s\u0131ralar.  Bu sayede, &#8220;elma&#8221; kelimesine en yak\u0131n \u00fcr\u00fcnleri daha kolay belirleyebilirsiniz.<\/p>\n<p><strong>Ger\u00e7ek Hayatta Bulan\u0131k Metin Aramas\u0131: \u00dcr\u00fcn Ad\u0131 Aramas\u0131 \u00d6rne\u011fi<\/strong><\/p>\n<p>Bir e-ticaret sitesi d\u00fc\u015f\u00fcn\u00fcn.  Milyonlarca \u00fcr\u00fcn\u00fcn oldu\u011fu bir veritaban\u0131nda, kullan\u0131c\u0131lar\u0131n arama kutusuna yazd\u0131klar\u0131 \u00fcr\u00fcn adlar\u0131n\u0131 tam olarak e\u015fle\u015ftirmek imkans\u0131zd\u0131r.  <code class=\"language-\">pg_trgm<\/code> uzant\u0131s\u0131, kullan\u0131c\u0131lar\u0131n yaz\u0131m hatalar\u0131 yapmas\u0131 veya farkl\u0131 varyasyonlar kullanmas\u0131 durumunda bile ilgili \u00fcr\u00fcnleri bulmalar\u0131n\u0131 sa\u011flar.  \u00d6rne\u011fin, kullan\u0131c\u0131 &#8220;k\u0131rm\u0131z\u0131 elma&#8221; yerine &#8220;k\u0131rm\u0131z\u0131 elam&#8221; yazar ise, <code class=\"language-\">pg_trgm<\/code> sayesinde yine ilgili \u00fcr\u00fcnleri listeleyebilirsiniz.<\/p>\n<p><strong>Performans Optimizasyonu ve \u0130ndeksleme<\/strong><\/p>\n<p>B\u00fcy\u00fck veritabanlar\u0131nda bulan\u0131k metin aramalar\u0131n\u0131n performans\u0131 olduk\u00e7a \u00f6nemlidir.  <code class=\"language-\">pg_trgm<\/code> uzant\u0131s\u0131 i\u00e7in indeksleme, performans\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilir.  Arama yapaca\u011f\u0131n\u0131z s\u00fctunlara <code class=\"language-\">gist<\/code> indeks ekleyebilirsiniz:<\/p>\n<pre class=\"language-sql\"><code>CREATE INDEX urun_adi_trgm_idx ON urunler USING gist (urun_adi gist_trgm_ops);<\/code><\/pre>\n<p>Bu indeks, <code class=\"language-\">pg_trgm<\/code> taraf\u0131ndan kullan\u0131lan \u00fc\u00e7gramlar \u00fczerinde \u00e7al\u0131\u015farak arama i\u015flemlerini h\u0131zland\u0131r\u0131r.  \u0130ndeks olu\u015fturmadan \u00f6nce ve sonra sorgu performans\u0131n\u0131 kar\u015f\u0131la\u015ft\u0131rarak iyile\u015fmeyi g\u00f6zlemleyebilirsiniz.  Ayr\u0131ca, gereksiz yere wildcard karakterleri kullanmaktan ka\u00e7\u0131nmak da performans\u0131 art\u0131r\u0131r.<\/p>\n<p><strong>Tam Metin \u0130ndekslemesi (tsvector ve tsquery)<\/strong><\/p>\n<p>Daha karma\u015f\u0131k ve b\u00fcy\u00fck \u00f6l\u00e7ekli bulan\u0131k arama ihtiya\u00e7lar\u0131 i\u00e7in PostgreSQL&#8217;in tam metin arama yeteneklerini kullanabilirsiniz.  <code class=\"language-\">tsvector<\/code> ve <code class=\"language-\">tsquery<\/code> tiplerini kullanarak metin verilerini indeksleyip, daha geli\u015fmi\u015f arama sorgular\u0131 olu\u015fturabilirsiniz.  Bu y\u00f6ntem,  <code class=\"language-\">pg_trgm<\/code>&#8216;e g\u00f6re daha fazla kontrol ve esneklik sunar, ancak daha karma\u015f\u0131k bir kurulum gerektirir.<\/p>\n<p><strong>Edge Case&#8217;ler ve \u00d6zel Durumlar<\/strong><\/p>\n<p>Bulan\u0131k arama yaparken,  \u00f6zel karakterler,  \u00e7ok k\u00fc\u00e7\u00fck kelimeler veya \u00e7ok benzer kelimeler gibi edge case&#8217;ler ile kar\u015f\u0131la\u015fabilirsiniz. Bu durumlar i\u00e7in,  aramay\u0131 daha hassas hale getirmek veya istenmeyen sonu\u00e7lar\u0131 filtrelemek i\u00e7in ek ko\u015fullar eklemeniz gerekebilir. \u00d6rne\u011fin,  \u00e7ok k\u0131sa kelimeleri filtrelemek i\u00e7in <code class=\"language-\">LENGTH()<\/code> fonksiyonunu kullanabilirsiniz.<\/p>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p>PostgreSQL, \u00e7e\u015fitli y\u00f6ntemler kullanarak etkili bulan\u0131k metin aramas\u0131 yapman\u0131za olanak tan\u0131r.  <code class=\"language-\">LIKE<\/code> operat\u00f6r\u00fc basit aramalar i\u00e7in uygundur, ancak <code class=\"language-\">pg_trgm<\/code> uzant\u0131s\u0131 ve tam metin indekslemesi daha geli\u015fmi\u015f ve performansl\u0131 \u00e7\u00f6z\u00fcmler sunar.  Uygulama senaryonuza ve veritaban\u0131n\u0131z\u0131n b\u00fcy\u00fckl\u00fc\u011f\u00fcne ba\u011fl\u0131 olarak en uygun y\u00f6ntemi se\u00e7meniz \u00f6nemlidir.  Performans optimizasyonu i\u00e7in indeksleme ve sorgu optimizasyonu tekniklerini uygulamay\u0131 unutmay\u0131n.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular:<\/strong><\/p>\n<p>1. <strong><code class=\"language-\">pg_trgm<\/code> uzant\u0131s\u0131n\u0131 nas\u0131l kald\u0131r\u0131r\u0131m?<\/strong> <code class=\"language-\">DROP EXTENSION pg_trgm;<\/code> komutunu kullanarak kald\u0131rabilirsiniz.<br \/>\n2. <strong>Bulan\u0131k arama i\u00e7in hangi indeksleme y\u00f6ntemi daha iyidir?<\/strong>  Veri k\u00fcmeniz ve arama sorgular\u0131n\u0131z\u0131n yap\u0131s\u0131na ba\u011fl\u0131d\u0131r.  <code class=\"language-\">pg_trgm<\/code> i\u00e7in <code class=\"language-\">gist<\/code> indeks genellikle iyi bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r.  Tam metin indekslemesi daha karma\u015f\u0131k ancak daha esnektir.<br \/>\n3. <strong>Bulan\u0131k arama sonu\u00e7lar\u0131n\u0131 nas\u0131l s\u0131ralar\u0131m?<\/strong> <code class=\"language-\">similarity()<\/code> fonksiyonu ile benzerlik skorunu hesaplay\u0131p, sonu\u00e7lar\u0131 bu skora g\u00f6re s\u0131ralayabilirsiniz.<br \/>\n4. <strong>\u00c7ok b\u00fcy\u00fck veritabanlar\u0131nda performans\u0131 nas\u0131l iyile\u015ftirebilirim?<\/strong>  \u0130ndeksleme, sorgu optimizasyonu ve uygun arama algoritmas\u0131n\u0131n se\u00e7imi performans\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde iyile\u015ftirir.<br \/>\n5. <strong>Bulan\u0131k arama i\u00e7in alternatif \u00e7\u00f6z\u00fcmler var m\u0131?<\/strong>  PostgreSQL&#8217;in kendi fonksiyonlar\u0131 d\u0131\u015f\u0131nda, \u00fc\u00e7\u00fcnc\u00fc parti k\u00fct\u00fcphaneler ve uzant\u0131lar da kullan\u0131labilir.  Ancak, performans ve g\u00fcvenilirlik a\u00e7\u0131s\u0131ndan PostgreSQL&#8217;in yerle\u015fik \u00f6zelliklerini tercih etmek daha iyidir.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# PostgreSQL&#8217;de Bulan\u0131k Metin Aramas\u0131 Nas\u0131l Yap\u0131l\u0131r? (\u00d6rneklerle) PostgreSQL veritaban\u0131n\u0131zda tam e\u015fle\u015fmeyen, ancak benzer kelimeleri veya ifadeleri i\u00e7eren&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[644],"tags":[],"class_list":{"0":"post-25472","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-postgresql","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PostgreSQL&#039;de Bulan\u0131k Metin Aramas\u0131 Nas\u0131l Kullan\u0131l\u0131r (\u00d6rneklerle)<\/title>\n<meta name=\"description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PostgreSQL&#039;de Bulan\u0131k Metin Aramas\u0131 Nas\u0131l Kullan\u0131l\u0131r (\u00d6rneklerle)\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-06T21:15:21+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"PostgreSQL&#8217;de Bulan\u0131k Metin Aramas\u0131 Nas\u0131l Kullan\u0131l\u0131r (\u00d6rneklerle)\",\"datePublished\":\"2025-07-06T21:15:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/\"},\"wordCount\":1025,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"PostgreSQL\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/\",\"name\":\"PostgreSQL'de Bulan\u0131k Metin Aramas\u0131 Nas\u0131l Kullan\u0131l\u0131r (\u00d6rneklerle)\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-07-06T21:15:21+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PostgreSQL&#8217;de Bulan\u0131k Metin Aramas\u0131 Nas\u0131l Kullan\u0131l\u0131r (\u00d6rneklerle)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"PostgreSQL'de Bulan\u0131k Metin Aramas\u0131 Nas\u0131l Kullan\u0131l\u0131r (\u00d6rneklerle)","description":"Hi\u00e7bir etiketi bulunamad\u0131.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/","og_locale":"tr_TR","og_type":"article","og_title":"PostgreSQL'de Bulan\u0131k Metin Aramas\u0131 Nas\u0131l Kullan\u0131l\u0131r (\u00d6rneklerle)","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-07-06T21:15:21+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"6 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"PostgreSQL&#8217;de Bulan\u0131k Metin Aramas\u0131 Nas\u0131l Kullan\u0131l\u0131r (\u00d6rneklerle)","datePublished":"2025-07-06T21:15:21+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/"},"wordCount":1025,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["PostgreSQL"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/","url":"https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/","name":"PostgreSQL'de Bulan\u0131k Metin Aramas\u0131 Nas\u0131l Kullan\u0131l\u0131r (\u00d6rneklerle)","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-07-06T21:15:21+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/postgresqlde-bulanik-metin-aramasi-nasil-kullanilir-orneklerle\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PostgreSQL&#8217;de Bulan\u0131k Metin Aramas\u0131 Nas\u0131l Kullan\u0131l\u0131r (\u00d6rneklerle)"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/25472","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=25472"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/25472\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=25472"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=25472"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=25472"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}