{"id":36886,"date":"2025-12-24T13:00:43","date_gmt":"2025-12-24T10:00:43","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/"},"modified":"2025-12-24T13:00:43","modified_gmt":"2025-12-24T10:00:43","slug":"6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/","title":{"rendered":"6.000&#8217;den Fazla n8n \u0130\u015f Ak\u0131\u015f\u0131n\u0131 Kaz\u0131yarak \u0130nteraktif \u00d6nizlemeli Bir Arama Motoru Olu\u015fturmak"},"content":{"rendered":"<h2>6.000&#8217;den Fazla n8n \u0130\u015f Ak\u0131\u015f\u0131n\u0131 Kaz\u0131yarak \u0130nteraktif \u00d6nizlemeli Bir Arama Motoru Olu\u015fturmak<\/h2>\n<p>Otomasyon platformlar\u0131, g\u00fcnl\u00fck i\u015f ak\u0131\u015flar\u0131n\u0131 kolayla\u015ft\u0131rman\u0131n ve verimlili\u011fi art\u0131rman\u0131n anahtar\u0131 haline geldi. Bu platformlardan biri olan n8n, kullan\u0131c\u0131lar\u0131n kod yazmadan g\u00fc\u00e7l\u00fc otomasyonlar olu\u015fturmas\u0131na olanak tan\u0131r. Ancak, n8n toplulu\u011fu b\u00fcy\u00fcd\u00fck\u00e7e, binlerce payla\u015f\u0131lan i\u015f ak\u0131\u015f\u0131 aras\u0131nda do\u011fru olan\u0131 bulmak giderek zorla\u015f\u0131yor. Bu makale, 6.000&#8217;den fazla n8n i\u015f ak\u0131\u015f\u0131n\u0131 kaz\u0131yarak, kullan\u0131c\u0131lar\u0131n ihtiya\u00e7 duyduklar\u0131 otomasyonlar\u0131 kolayca bulmalar\u0131n\u0131 sa\u011flayan, interaktif \u00f6nizlemelere sahip bir arama motoru geli\u015ftirme s\u00fcrecini detayland\u0131rmaktad\u0131r.<\/p>\n<h3>n8n \u0130\u015f Ak\u0131\u015flar\u0131n\u0131n De\u011feri ve Ke\u015fif Zorluklar\u0131<\/h3>\n<p>n8n (node-based workflow automation) a\u00e7\u0131k kaynakl\u0131, geni\u015fletilebilir bir otomasyon arac\u0131d\u0131r. Kullan\u0131c\u0131lar, \u00e7e\u015fitli uygulamalar ve API&#8217;ler aras\u0131nda ba\u011flant\u0131lar kurarak karma\u015f\u0131k i\u015f ak\u0131\u015flar\u0131 olu\u015fturabilirler. Bu esneklik ve a\u00e7\u0131k kaynak do\u011fas\u0131, n8n&#8217;i geli\u015ftiriciler ve teknik kullan\u0131c\u0131lar aras\u0131nda pop\u00fcler bir se\u00e7enek haline getirmi\u015ftir.<\/p>\n<h4>n8n Nedir ve Neden \u00d6nemlidir?<\/h4>\n<p>n8n, farkl\u0131 hizmetleri birbirine ba\u011flayan &#8220;d\u00fc\u011f\u00fcmler&#8221; (nodes) kullanarak otomasyonlar olu\u015fturmaya yarayan bir platformdur. Veri tabanlar\u0131, API&#8217;ler, bulut hizmetleri ve pop\u00fcler uygulamalar aras\u0131nda k\u00f6pr\u00fc kurarak, tekrarlayan g\u00f6revleri otomatikle\u015ftirir. \u0130\u015f ak\u0131\u015flar\u0131 g\u00f6rsel bir aray\u00fczde tasarlan\u0131r ve JSON format\u0131nda d\u0131\u015fa aktar\u0131labilir. Bu yap\u0131, otomasyon s\u00fcre\u00e7lerini \u015feffaf ve y\u00f6netilebilir k\u0131lar. n8n&#8217;in \u00f6nemi, sadece teknik kullan\u0131c\u0131lar\u0131n de\u011fil, ayn\u0131 zamanda i\u015f s\u00fcre\u00e7lerini optimize etmek isteyen herkesin otomasyon g\u00fcc\u00fcnden faydalanabilmesidir.<\/p>\n<h4>Topluluk Kaynaklar\u0131 ve Mevcut Durum<\/h4>\n<p>n8n&#8217;in aktif bir toplulu\u011fu vard\u0131r ve bu topluluk, forumlar, GitHub depolar\u0131 ve resmi n8n k\u00fct\u00fcphanesi arac\u0131l\u0131\u011f\u0131yla binlerce i\u015f ak\u0131\u015f\u0131n\u0131 payla\u015fmaktad\u0131r. Bu i\u015f ak\u0131\u015flar\u0131, e-posta bildirimlerinden karma\u015f\u0131k veri entegrasyonlar\u0131na kadar geni\u015f bir yelpazeyi kapsar. Ancak, bu zengin i\u00e7erik, merkezi ve etkili bir arama veya ke\u015fif mekanizmas\u0131 olmaks\u0131z\u0131n da\u011f\u0131n\u0131k halde bulunmaktad\u0131r. Kullan\u0131c\u0131lar genellikle belirli bir ihtiyaca y\u00f6nelik i\u015f ak\u0131\u015f\u0131n\u0131 bulmak i\u00e7in saatler harcamak zorunda kal\u0131r.<\/p>\n<h4>\u0130\u015f Ak\u0131\u015f\u0131 Ke\u015ffindeki Engeller<\/h4>\n<p>Mevcut durumda, n8n i\u015f ak\u0131\u015flar\u0131n\u0131 ke\u015ffetmek i\u00e7in genellikle manuel y\u00f6ntemler kullan\u0131l\u0131r. Forumlarda arama yapmak, GitHub depolar\u0131n\u0131 taramak veya n8n&#8217;in kendi topluluk sayfalar\u0131ndaki s\u0131n\u0131rl\u0131 filtreleme se\u00e7eneklerini kullanmak, aranan spesifik bir otomasyonu bulmay\u0131 zorla\u015ft\u0131r\u0131r. \u0130\u015f ak\u0131\u015flar\u0131 genellikle sadece ba\u015fl\u0131k ve k\u0131sa bir a\u00e7\u0131klama ile listelenir, bu da i\u00e7eriklerini tam olarak anlamadan indirme ve test etme gereklili\u011fini do\u011furur. Bu durum, zaman kayb\u0131na ve verimsizli\u011fe yol a\u00e7ar.<\/p>\n<h3>Veri Kaz\u0131ma Stratejisi: 6.000+ \u0130\u015f Ak\u0131\u015f\u0131na Ula\u015fmak<\/h3>\n<p>Bu projenin temelini, n8n toplulu\u011fundan ve di\u011fer a\u00e7\u0131k kaynak platformlardan binlerce i\u015f ak\u0131\u015f\u0131n\u0131 sistematik bir \u015fekilde toplamakt\u0131r. Bu, dikkatli bir planlama ve do\u011fru ara\u00e7lar\u0131n se\u00e7ilmesini gerektirir.<\/p>\n<h4>Hedef Belirleme ve Veri Kaynaklar\u0131<\/h4>\n<p>Projenin ana hedefi, m\u00fcmk\u00fcn olan en geni\u015f n8n i\u015f ak\u0131\u015f\u0131 veri setini olu\u015fturmakt\u0131r. Ba\u015fl\u0131ca veri kaynaklar\u0131 aras\u0131nda n8n&#8217;in resmi topluluk i\u015f ak\u0131\u015flar\u0131 k\u00fct\u00fcphanesi, GitHub Gist&#8217;ler, n8n forumlar\u0131 ve ilgili blog g\u00f6nderileri bulunmaktad\u0131r. Her bir kaynaktan, i\u015f ak\u0131\u015f\u0131n\u0131n JSON i\u00e7eri\u011fi, ba\u015fl\u0131\u011f\u0131, a\u00e7\u0131klamas\u0131, etiketleri, yazar bilgisi ve varsa kullan\u0131m \u00f6rnekleri gibi meta veriler toplanmas\u0131 hedeflenmi\u015ftir.<\/p>\n<h4>Kaz\u0131ma Ara\u00e7lar\u0131 ve Y\u00f6ntemleri<\/h4>\n<p>Veri kaz\u0131ma i\u015flemi i\u00e7in Python ve Scrapy k\u00fct\u00fcphanesi tercih edildi. Scrapy, web sitelerinden yap\u0131land\u0131r\u0131lm\u0131\u015f verileri \u00e7\u0131karmak i\u00e7in g\u00fc\u00e7l\u00fc ve esnek bir \u00e7er\u00e7eve sunar. Dinamik i\u00e7erik y\u00fckleyen sayfalar i\u00e7in Selenium veya Playwright gibi headless taray\u0131c\u0131 otomasyon ara\u00e7lar\u0131 da Scrapy ile entegre edilerek kullan\u0131ld\u0131. \u00d6zellikle GitHub Gist&#8217;leri gibi farkl\u0131 formatlardaki i\u00e7erikleri i\u015flemek i\u00e7in \u00f6zel kaz\u0131y\u0131c\u0131lar (scrapers) geli\u015ftirildi.<\/p>\n<pre><code class=\"language-python\"># \u00d6rnek bir Scrapy Spider yap\u0131s\u0131\nimport scrapy\n\nclass N8nWorkflowSpider(scrapy.Spider):\n    name = 'n8n_workflows'\n    start_urls = ['https:\/\/n8n.io\/workflows\/'] # \u00d6rnek URL\n\n    def parse(self, response):\n        # \u0130\u015f ak\u0131\u015f\u0131 kartlar\u0131n\u0131 veya listeleme \u00f6\u011felerini bul\n        workflow_links = response.css('a.workflow-card::attr(href)').getall()\n        for link in workflow_links:\n            yield response.follow(link, self.parse_workflow_detail)\n\n        # Sonraki sayfaya ge\u00e7i\u015f (varsa)\n        next_page = response.css('a.next-page::attr(href)').get()\n        if next_page is not None:\n            yield response.follow(next_page, self.parse)\n\n    def parse_workflow_detail(self, response):\n        # \u0130\u015f ak\u0131\u015f\u0131 detay sayfas\u0131ndan verileri \u00e7ek\n        title = response.css('h1::text').get()\n        description = response.css('div.description::text').get()\n        # JSON i\u00e7eri\u011fini \u00e7ekme mekanizmas\u0131 (genellikle bir script etiketinde veya API \u00e7a\u011fr\u0131s\u0131nda bulunur)\n        json_content = response.css('script[type=\"application\/json\"]::text').get() \n        \n        yield {\n            'title': title,\n            'description': description,\n            'json_content': json_content,\n            'url': response.url,\n            # Di\u011fer meta veriler...\n        }<\/pre>\n<p><\/code><\/p>\n<h4>Veri Modeli ve Toplanan Bilgiler<\/h4>\n<p>Her bir n8n i\u015f ak\u0131\u015f\u0131 i\u00e7in a\u015fa\u011f\u0131daki temel bilgilerin toplanmas\u0131 planland\u0131:<\/p>\n<ol>\n<li><strong>ID:<\/strong> Benzersiz bir tan\u0131mlay\u0131c\u0131.<\/li>\n<li><strong>Ba\u015fl\u0131k:<\/strong> \u0130\u015f ak\u0131\u015f\u0131n\u0131n ad\u0131.<\/li>\n<li><strong>A\u00e7\u0131klama:<\/strong> \u0130\u015f ak\u0131\u015f\u0131n\u0131n ne i\u015fe yarad\u0131\u011f\u0131n\u0131 anlatan k\u0131sa metin.<\/li>\n<li><strong>JSON \u0130\u00e7eri\u011fi:<\/strong> \u0130\u015f ak\u0131\u015f\u0131n\u0131n kendisini tan\u0131mlayan tam JSON yap\u0131s\u0131. Bu, interaktif \u00f6nizleme i\u00e7in kritik \u00f6neme sahiptir.<\/li>\n<li><strong>Etiketler\/Kategoriler:<\/strong> \u0130\u015f ak\u0131\u015f\u0131n\u0131n ilgili oldu\u011fu konular.<\/li>\n<li><strong>Yazar:<\/strong> \u0130\u015f ak\u0131\u015f\u0131n\u0131 olu\u015fturan veya payla\u015fan ki\u015fi\/kurulu\u015f.<\/li>\n<li><strong>Kaynak URL:<\/strong> \u0130\u015f ak\u0131\u015f\u0131n\u0131n orijinal olarak bulundu\u011fu web sayfas\u0131.<\/li>\n<li><strong>Olu\u015fturulma\/G\u00fcncellenme Tarihi:<\/strong> Zaman damgalar\u0131.<\/li>\n<\/ol>\n<p>Bu veri modeli, arama motorunun hem genel bilgilere g\u00f6re hem de i\u015f ak\u0131\u015f\u0131n\u0131n i\u00e7indeki d\u00fc\u011f\u00fcm adlar\u0131, parametreler gibi daha derinlemesine bilgilere g\u00f6re arama yapmas\u0131na olanak tan\u0131r.<\/p>\n<h4>Hukuki ve Etik Hususlar<\/h4>\n<p>Veri kaz\u0131ma i\u015flemi s\u0131ras\u0131nda hukuki ve etik kurallara riayet etmek b\u00fcy\u00fck \u00f6nem ta\u015f\u0131r. Web sitelerinin <code>robots.txt<\/code> dosyalar\u0131 incelendi, a\u015f\u0131r\u0131 istek g\u00f6nderiminden ka\u00e7\u0131n\u0131ld\u0131 ve sunuculara y\u00fck bindirmemek i\u00e7in gecikmeler uyguland\u0131. Toplanan veriler sadece arama ve \u00f6nizleme ama\u00e7l\u0131 kullan\u0131ld\u0131, herhangi bir ticari ama\u00e7 g\u00fctmedi ve ki\u015fisel verilerin toplanmas\u0131ndan ka\u00e7\u0131n\u0131ld\u0131. A\u00e7\u0131k kaynakl\u0131 ve payla\u015f\u0131ma a\u00e7\u0131k veriler olmas\u0131na ra\u011fmen, bu projenin amac\u0131 toplulu\u011fa hizmet etmek ve mevcut kaynaklar\u0131 daha eri\u015filebilir k\u0131lmakt\u0131r.<\/p>\n<h3>Toplanan Verilerin Depolanmas\u0131 ve Yap\u0131land\u0131r\u0131lmas\u0131<\/h3>\n<p>Kaz\u0131nan verilerin etkili bir \u015fekilde depolanmas\u0131 ve sorgulanabilir hale getirilmesi, arama motorunun performans\u0131n\u0131 ve i\u015flevselli\u011fini do\u011frudan etkiler. Bu a\u015famada do\u011fru veritaban\u0131 ve \u015fema se\u00e7imi kritik rol oynar.<\/p>\n<h4>Veritaban\u0131 Se\u00e7imi<\/h4>\n<p>Proje i\u00e7in Elasticsearch tercih edildi. Bunun birka\u00e7 nedeni bulunmaktad\u0131r:<\/p>\n<ul>\n<li><strong>Tam Metin Arama Yetenekleri:<\/strong> Elasticsearch, metin tabanl\u0131 verilerde h\u0131zl\u0131 ve geli\u015fmi\u015f tam metin arama i\u00e7in optimize edilmi\u015ftir. n8n i\u015f ak\u0131\u015flar\u0131n\u0131n ba\u015fl\u0131klar\u0131, a\u00e7\u0131klamalar\u0131 ve JSON i\u00e7erikleri gibi metinsel veriler i\u00e7in idealdir.<\/li>\n<li><strong>JSON Deste\u011fi:<\/strong> n8n i\u015f ak\u0131\u015flar\u0131 JSON format\u0131nda oldu\u011fu i\u00e7in, Elasticsearch'\u00fcn JSON belgelerini do\u011fal olarak depolamas\u0131 ve indekslemesi b\u00fcy\u00fck bir avantajd\u0131r.<\/li>\n<li><strong>\u00d6l\u00e7eklenebilirlik:<\/strong> Gelecekte daha fazla i\u015f ak\u0131\u015f\u0131 eklendi\u011finde veya kullan\u0131c\u0131 say\u0131s\u0131 artt\u0131\u011f\u0131nda kolayca \u00f6l\u00e7eklenebilir bir yap\u0131 sunar.<\/li>\n<li><strong>Fasetleme ve Filtreleme:<\/strong> Etiketlere, yazarlara veya di\u011fer meta verilere g\u00f6re geli\u015fmi\u015f filtreleme ve fasetleme \u00f6zellikleri sunar.<\/li>\n<\/ul>\n<p>Alternatif olarak PostgreSQL gibi ili\u015fkisel veritabanlar\u0131 veya MongoDB gibi NoSQL veritabanlar\u0131 da d\u00fc\u015f\u00fcn\u00fclebilirdi, ancak tam metin arama ve JSON i\u015fleme yetenekleri a\u00e7\u0131s\u0131ndan Elasticsearch daha uygun bulundu.<\/p>\n<h4>\u015eema Tasar\u0131m\u0131<\/h4>\n<p>Elasticsearch'teki indeks \u015femas\u0131, i\u015f ak\u0131\u015flar\u0131n\u0131n verimli bir \u015fekilde depolanmas\u0131n\u0131 ve aranmas\u0131n\u0131 sa\u011flamak i\u00e7in \u00f6zenle tasarland\u0131. Her bir n8n i\u015f ak\u0131\u015f\u0131, Elasticsearch'te bir belge olarak temsil edildi.<\/p>\n<pre><code class=\"language-json\">{\n  \"id\": \"unique-workflow-id-123\",\n  \"title\": \"Slack'e Yeni Tweet Bildirimi G\u00f6nder\",\n  \"description\": \"Belirli bir hashtag ile yeni tweetleri izler ve Slack kanal\u0131na bildirim g\u00f6nderir.\",\n  \"json_content\": \"{ \\\"nodes\\\": [ { \\\"nodeType\\\": \\\"n8n-nodes-base.twitterTrigger\\\", ... } ], \\\"connections\\\": { ... } }\",\n  \"tags\": [\"slack\", \"twitter\", \"bildirim\", \"sosyal medya\"],\n  \"author\": \"John Doe\",\n  \"source_url\": \"https:\/\/n8n.io\/workflows\/example-workflow-123\",\n  \"created_at\": \"2023-01-15T10:00:00Z\",\n  \"updated_at\": \"2023-01-15T10:00:00Z\",\n  \"nodes\": [\n    {\"name\": \"Twitter Trigger\", \"type\": \"n8n-nodes-base.twitterTrigger\"},\n    {\"name\": \"Slack\", \"type\": \"n8n-nodes-base.slack\"}\n  ]\n}<\/pre>\n<p><\/code><br \/>\n<code>json_content<\/code> alan\u0131, i\u015f ak\u0131\u015f\u0131n\u0131n tam JSON yap\u0131s\u0131n\u0131 i\u00e7erirken, <code>nodes<\/code> alan\u0131 i\u015f ak\u0131\u015f\u0131ndaki d\u00fc\u011f\u00fcmlerin adlar\u0131n\u0131 ve tiplerini i\u00e7eren bir dizi olarak indekslendi. Bu, kullan\u0131c\u0131lar\u0131n belirli d\u00fc\u011f\u00fcm tiplerini i\u00e7eren i\u015f ak\u0131\u015flar\u0131n\u0131 aramas\u0131na olanak tan\u0131r. <code>tags<\/code> alan\u0131 da \u00e7ok de\u011ferli bir filtreleme ve arama kriteri olarak kullan\u0131ld\u0131.<\/p>\n<h4>Veri Temizli\u011fi ve \u00d6n \u0130\u015fleme<\/h4>\n<p>Kaz\u0131nan veriler genellikle ham ve tutars\u0131z olabilir. Bu nedenle, veritaban\u0131na aktar\u0131lmadan \u00f6nce kapsaml\u0131 bir temizlik ve \u00f6n i\u015fleme a\u015famas\u0131 uyguland\u0131:<\/p>\n<ul>\n<li><strong>Tekrarlayan Kay\u0131tlar\u0131n Kald\u0131r\u0131lmas\u0131:<\/strong> Ayn\u0131 i\u015f ak\u0131\u015f\u0131n\u0131n farkl\u0131 kaynaklardan birden fazla kez kaz\u0131nmas\u0131 durumunda benzersiz ID'ler kullan\u0131larak tekrarlar elimine edildi.<\/li>\n<li><strong>Eksik Verilerin Doldurulmas\u0131:<\/strong> Ba\u015fl\u0131k veya a\u00e7\u0131klama gibi kritik alanlarda eksiklikler varsa, m\u00fcmk\u00fcnse otomatik olarak dolduruldu veya <code>N\/A<\/code> olarak i\u015faretlendi.<\/li>\n<li><strong>Metin Normalizasyonu:<\/strong> T\u00fcm metin alanlar\u0131 (ba\u015fl\u0131k, a\u00e7\u0131klama, etiketler) k\u00fc\u00e7\u00fck harfe d\u00f6n\u00fc\u015ft\u00fcr\u00fcld\u00fc, noktalama i\u015faretleri temizlendi ve gereksiz bo\u015fluklar kald\u0131r\u0131ld\u0131.<\/li>\n<li><strong>JSON Do\u011frulamas\u0131:<\/strong> Her bir <code>json_content<\/code> alan\u0131n\u0131n ge\u00e7erli bir JSON olup olmad\u0131\u011f\u0131 kontrol edildi. Ge\u00e7ersiz olanlar d\u00fczeltildi veya atland\u0131.<\/li>\n<li><strong>Etiket \u00c7\u0131kar\u0131m\u0131:<\/strong> Baz\u0131 i\u015f ak\u0131\u015flar\u0131n\u0131n etiketleri otomatik olarak \u00e7\u0131kar\u0131ld\u0131 veya mevcut etiketler standartla\u015ft\u0131r\u0131ld\u0131.<\/li>\n<\/ul>\n<p>Bu ad\u0131mlar, arama sonu\u00e7lar\u0131n\u0131n kalitesini ve tutarl\u0131l\u0131\u011f\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rd\u0131.<\/p>\n<h3>Arama Motoru Mimarisi ve Geli\u015ftirme<\/h3>\n<p>Arama motorunun kalbi, kullan\u0131c\u0131 sorgular\u0131n\u0131 al\u0131p en alakal\u0131 sonu\u00e7lar\u0131 h\u0131zl\u0131 ve verimli bir \u015fekilde d\u00f6nd\u00fcren mimaridir. Elasticsearch'in g\u00fcc\u00fcnden faydalanarak bu mimari olu\u015fturuldu.<\/p>\n<h4>Arama Teknolojisi Se\u00e7imi<\/h4>\n<p>Daha \u00f6nce belirtildi\u011fi gibi, Elasticsearch bu proje i\u00e7in ana arama motoru olarak se\u00e7ildi. Geli\u015fmi\u015f tam metin arama, sorgulama dilleri (Query DSL), fasetleme ve s\u0131ralama yetenekleri sayesinde karma\u015f\u0131k arama ihtiya\u00e7lar\u0131n\u0131 kar\u015f\u0131layabilmektedir. Ayr\u0131ca, Elasticsearch'in RESTful API'si, arka u\u00e7 uygulamas\u0131yla kolay entegrasyon sa\u011flar.<\/p>\n<h4>Endeksleme S\u00fcreci<\/h4>\n<p>Kaz\u0131nan ve temizlenen her bir n8n i\u015f ak\u0131\u015f\u0131 belgesi, Elasticsearch'e endekslendi. Endeksleme i\u015flemi, veritaban\u0131na veri ekleme s\u00fcrecidir ve Elasticsearch'in bu verileri h\u0131zl\u0131 arama i\u00e7in optimize etmesini sa\u011flar. \u00d6zellikle <code>json_content<\/code> alan\u0131ndaki d\u00fc\u011f\u00fcm adlar\u0131 ve tipleri gibi belirli alt alanlar\u0131n da indekslenmesi, daha spesifik aramalar yap\u0131lmas\u0131na olanak tan\u0131d\u0131. \u00d6rne\u011fin, bir kullan\u0131c\u0131 \"HTTP Request\" d\u00fc\u011f\u00fcm\u00fcn\u00fc i\u00e7eren i\u015f ak\u0131\u015flar\u0131n\u0131 arayabilir.<\/p>\n<h4>Arama Sorgulama ve S\u0131ralama Algoritmalar\u0131<\/h4>\n<p>Arama motoru, kullan\u0131c\u0131lar\u0131n girdi\u011fi sorgular\u0131 i\u015flemek i\u00e7in Elasticsearch'in Query DSL'ini kullan\u0131r. Basit anahtar kelime aramalar\u0131ndan, birden fazla alan\u0131 hedefleyen karma\u015f\u0131k sorgulara kadar \u00e7e\u015fitli arama tipleri desteklenir.<\/p>\n<p>\u00d6rnek bir Elasticsearch sorgusu:<\/p>\n<pre><code class=\"language-json\">\n{\n  \"query\": {\n    \"multi_match\": {\n      \"query\": \"slack bildirim\",\n      \"fields\": [\"title^3\", \"description^2\", \"tags^1.5\", \"json_content\"]\n    }\n  },\n  \"sort\": [\n    { \"created_at\": { \"order\": \"desc\" } }\n  ],\n  \"aggs\": {\n    \"top_tags\": {\n      \"terms\": {\n        \"field\": \"tags.keyword\",\n        \"size\": 10\n      }\n    }\n  }\n}\n<\/pre>\n<p><\/code><br \/>\nYukar\u0131daki \u00f6rnekte, \"slack bildirim\" sorgusu <code>title<\/code>, <code>description<\/code>, <code>tags<\/code> ve <code>json_content<\/code> alanlar\u0131nda aran\u0131r. <code>^3<\/code> gibi a\u011f\u0131rl\u0131kland\u0131rmalar, ba\u015fl\u0131kta ge\u00e7en terimlerin daha alakal\u0131 kabul edilmesini sa\u011flar. Sonu\u00e7lar olu\u015fturulma tarihine g\u00f6re azalan s\u0131rada s\u0131ralan\u0131r ve en pop\u00fcler etiketler (top_tags) fasetleme i\u00e7in toplan\u0131r.<\/p>\n<h4>Filtreleme ve Fasetleme \u00d6zellikleri<\/h4>\n<p>Kullan\u0131c\u0131 deneyimini zenginle\u015ftirmek i\u00e7in geli\u015fmi\u015f filtreleme ve fasetleme \u00f6zellikleri eklendi. Kullan\u0131c\u0131lar, etiketlere, yazar adlar\u0131na veya belirli d\u00fc\u011f\u00fcm tiplerine g\u00f6re arama sonu\u00e7lar\u0131n\u0131 daraltabilirler. Fasetleme, arama sonu\u00e7lar\u0131nda en s\u0131k ge\u00e7en etiketleri veya kategorileri g\u00f6stererek, kullan\u0131c\u0131lar\u0131n ke\u015ffetme s\u00fcrecini kolayla\u015ft\u0131r\u0131r. Bu \u00f6zellikler, Elasticsearch'in <code>aggregations<\/code> yetenekleri kullan\u0131larak implemente edildi.<\/p>\n<h3>\u0130nteraktif \u00d6nizlemeler: Kullan\u0131c\u0131 Deneyimini Zenginle\u015ftirmek<\/h3>\n<p>Bir i\u015f ak\u0131\u015f\u0131n\u0131n JSON i\u00e7eri\u011fini g\u00f6rmek faydal\u0131 olsa da, as\u0131l de\u011feri onu g\u00f6rsel olarak anlamakt\u0131r. Bu proje, interaktif \u00f6nizlemelerle kullan\u0131c\u0131 deneyimini bir \u00fcst seviyeye ta\u015f\u0131maktad\u0131r.<\/p>\n<h4>\u00d6nizleme Mekanizmas\u0131<\/h4>\n<p>n8n i\u015f ak\u0131\u015flar\u0131, genellikle g\u00f6rsel bir tuval \u00fczerinde d\u00fc\u011f\u00fcmler ve ba\u011flant\u0131lar olarak temsil edilir. Bu nedenle, kaz\u0131nan JSON i\u00e7eri\u011fini al\u0131p, n8n'in kendi UI bile\u015fenlerine benzer \u015fekilde g\u00f6rselle\u015ftirmek, kullan\u0131c\u0131lar\u0131n i\u015f ak\u0131\u015f\u0131n\u0131n yap\u0131s\u0131n\u0131 ve mant\u0131\u011f\u0131n\u0131 h\u0131zl\u0131ca anlamalar\u0131n\u0131 sa\u011flar. Bu, n8n'in a\u00e7\u0131k kaynakl\u0131 frontend bile\u015fenlerinin veya benzer bir grafik k\u00fct\u00fcphanesinin (\u00f6rne\u011fin React Flow) kullan\u0131lmas\u0131yla ba\u015far\u0131labilir. Kullan\u0131c\u0131 bir arama sonucuna t\u0131klad\u0131\u011f\u0131nda, i\u015f ak\u0131\u015f\u0131n\u0131n d\u00fc\u011f\u00fcm yap\u0131s\u0131, ba\u011flant\u0131lar\u0131 ve belki de baz\u0131 temel parametreleri interaktif bir diyagram olarak g\u00f6sterilir.<\/p>\n<h4>G\u00fcvenlik ve \u0130zolasyon Konular\u0131<\/h4>\n<p>\u0130\u015f ak\u0131\u015flar\u0131n\u0131n JSON i\u00e7eri\u011fi potansiyel olarak hassas bilgiler (\u00f6rne\u011fin, API anahtarlar\u0131 i\u00e7in yer tutucular) i\u00e7erebilir. Bu nedenle, \u00f6nizleme mekanizmas\u0131 tasarlan\u0131rken g\u00fcvenlik \u00f6n planda tutuldu. \u00d6nizleme s\u0131ras\u0131nda hi\u00e7bir ger\u00e7ek kimlik bilgisi veya hassas veri g\u00f6sterilmez veya i\u015flenmez. Yaln\u0131zca i\u015f ak\u0131\u015f\u0131n\u0131n yap\u0131sal ve mant\u0131ksal bile\u015fenleri g\u00f6rselle\u015ftirilir. Ayr\u0131ca, \u00f6nizleme ortam\u0131 tamamen izole edilmi\u015f bir sandbox i\u00e7inde \u00e7al\u0131\u015ft\u0131r\u0131larak, k\u00f6t\u00fc niyetli JSON i\u00e7eriklerinin sistem \u00fczerinde herhangi bir etki yaratmas\u0131 engellenir.<\/p>\n<h4>Kullan\u0131c\u0131 Aray\u00fcz\u00fc Entegrasyonu<\/h4>\n<p>\u0130nteraktif \u00f6nizlemeler, arama sonu\u00e7lar\u0131 sayfas\u0131nda veya ayr\u0131 bir detay sayfas\u0131nda bir bile\u015fen olarak entegre edildi. Kullan\u0131c\u0131 bir i\u015f ak\u0131\u015f\u0131n\u0131 se\u00e7ti\u011finde, sa\u011f tarafta veya a\u00e7\u0131l\u0131r bir pencerede i\u015f ak\u0131\u015f\u0131n\u0131n g\u00f6rsel \u00f6nizlemesi belirir. Bu, kullan\u0131c\u0131lar\u0131n i\u015f ak\u0131\u015f\u0131n\u0131 indirmeden veya n8n ortam\u0131na aktarmadan \u00f6nce h\u0131zl\u0131ca de\u011ferlendirmelerine olanak tan\u0131r, b\u00f6ylece yanl\u0131\u015f i\u015f ak\u0131\u015flar\u0131 \u00fczerinde zaman kaybetmelerini \u00f6nler.<\/p>\n<h3>Uygulaman\u0131n Geli\u015ftirilmesi ve Kullan\u0131c\u0131 Aray\u00fcz\u00fc (UI)<\/h3>\n<p>Arama motorunun son kullan\u0131c\u0131ya sunulmas\u0131 i\u00e7in modern bir web uygulamas\u0131 geli\u015ftirildi. Bu uygulama, kullan\u0131c\u0131lar\u0131n kolayca arama yapmas\u0131n\u0131, sonu\u00e7lar\u0131 filtrelemesini ve i\u015f ak\u0131\u015flar\u0131n\u0131 \u00f6nizlemesini sa\u011flar.<\/p>\n<h4>Teknoloji Y\u0131\u011f\u0131n\u0131<\/h4>\n<p>Uygulaman\u0131n geli\u015ftirilmesi i\u00e7in a\u015fa\u011f\u0131daki teknoloji y\u0131\u011f\u0131n\u0131 kullan\u0131ld\u0131:<\/p>\n<ul>\n<li><strong>Frontend:<\/strong> React.js, h\u0131zl\u0131 ve etkile\u015fimli kullan\u0131c\u0131 aray\u00fczleri olu\u015fturmak i\u00e7in tercih edildi. Durum y\u00f6netimi i\u00e7in React Context API veya Redux gibi \u00e7\u00f6z\u00fcmler kullan\u0131labilir.<\/li>\n<li><strong>Backend:<\/strong> Node.js ve Express.js, hafif ve h\u0131zl\u0131 bir API sunucusu olu\u015fturmak i\u00e7in kullan\u0131ld\u0131. Bu katman, frontend'den gelen arama isteklerini Elasticsearch'e iletir ve sonu\u00e7lar\u0131 i\u015fleyerek frontend'e geri g\u00f6nderir.<\/li>\n<li><strong>Veritaban\u0131\/Arama Motoru:<\/strong> Elasticsearch (daha \u00f6nce bahsedildi\u011fi gibi).<\/li>\n<\/ul>\n<p>Bu y\u0131\u011f\u0131n, hem geli\u015ftirme h\u0131z\u0131 hem de uygulaman\u0131n \u00f6l\u00e7eklenebilirli\u011fi a\u00e7\u0131s\u0131ndan dengeli bir \u00e7\u00f6z\u00fcm sunar.<\/p>\n<h4>API Tasar\u0131m\u0131<\/h4>\n<p>Backend API'si, RESTful prensiplere uygun olarak tasarland\u0131. Ana API u\u00e7 noktalar\u0131 \u015funlar\u0131 i\u00e7erir:<\/p>\n<ul>\n<li><code>GET \/api\/workflows<\/code>: \u0130\u015f ak\u0131\u015flar\u0131n\u0131 aramak ve filtrelemek i\u00e7in. Sorgu parametreleri (<code>q<\/code>, <code>tags<\/code>, <code>author<\/code> vb.) ile birlikte kullan\u0131l\u0131r.<\/li>\n<li><code>GET \/api\/workflows\/:id<\/code>: Belirli bir i\u015f ak\u0131\u015f\u0131n\u0131n detaylar\u0131n\u0131 (tam JSON i\u00e7eri\u011fi dahil) almak i\u00e7in.<\/li>\n<li><code>GET \/api\/tags<\/code>: Mevcut etiketlerin listesini almak i\u00e7in (fasetleme ve otomatik tamamlama i\u00e7in).<\/li>\n<\/ul>\n<p>API, kimlik do\u011frulama veya yetkilendirme gerektirmez, \u00e7\u00fcnk\u00fc t\u00fcm veriler halka a\u00e7\u0131k kaynaklardan toplanm\u0131\u015ft\u0131r.<\/p>\n<h4>Kullan\u0131c\u0131 Aray\u00fcz\u00fc Tasar\u0131m\u0131 ve Bile\u015fenleri<\/h4>\n<p>Kullan\u0131c\u0131 aray\u00fcz\u00fc, temiz, sezgisel ve kullan\u0131m\u0131 kolay olacak \u015fekilde tasarland\u0131. Ana bile\u015fenler \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>Arama \u00c7ubu\u011fu:<\/strong> Anahtar kelime aramalar\u0131 i\u00e7in.<\/li>\n<li><strong>Filtreleme ve Fasetleme Paneli:<\/strong> Etiketlere, yazar adlar\u0131na veya d\u00fc\u011f\u00fcm tiplerine g\u00f6re sonu\u00e7lar\u0131 daraltmak i\u00e7in.<\/li>\n<li><strong>Sonu\u00e7 Listesi:<\/strong> Her bir i\u015f ak\u0131\u015f\u0131n\u0131n ba\u015fl\u0131\u011f\u0131, k\u0131sa a\u00e7\u0131klamas\u0131 ve temel meta verilerini i\u00e7eren kartlar veya listeleme \u00f6\u011feleri.<\/li>\n<li><strong>\u0130\u015f Ak\u0131\u015f\u0131 Detay ve \u00d6nizleme Modal\u0131\/Paneli:<\/strong> Se\u00e7ilen i\u015f ak\u0131\u015f\u0131n\u0131n tam a\u00e7\u0131klamas\u0131n\u0131, JSON i\u00e7eri\u011fini ve interaktif g\u00f6rsel \u00f6nizlemesini g\u00f6sterir.<\/li>\n<li><strong>Sayfaland\u0131rma:<\/strong> B\u00fcy\u00fck sonu\u00e7 k\u00fcmelerini y\u00f6netmek i\u00e7in.<\/li>\n<\/ul>\n<p>Tasar\u0131m, responsive (duyarl\u0131) bir yakla\u015f\u0131mla mobil ve masa\u00fcst\u00fc cihazlarda sorunsuz bir deneyim sunmay\u0131 hedeflemektedir.<\/p>\n<h3>Kar\u015f\u0131la\u015f\u0131lan Zorluklar ve \u00c7\u00f6z\u00fcmler<\/h3>\n<p>B\u00f6ylesine kapsaml\u0131 bir projede \u00e7e\u015fitli teknik ve operasyonel zorluklarla kar\u015f\u0131la\u015fmak ka\u00e7\u0131n\u0131lmazd\u0131r. Bu zorluklar\u0131n \u00fcstesinden gelmek, projenin ba\u015far\u0131s\u0131 i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h4>Dinamik \u0130\u00e7erik ve Anti-Bot Mekanizmalar\u0131<\/h4>\n<p>Baz\u0131 n8n i\u015f ak\u0131\u015flar\u0131, JavaScript ile dinamik olarak y\u00fcklenen sayfalarda bulunuyordu. Bu durum, geleneksel HTML kaz\u0131y\u0131c\u0131lar\u0131n\u0131n bu i\u00e7eri\u011fe eri\u015fmesini engelledi. \u00c7\u00f6z\u00fcm olarak, Scrapy ile entegre edilen headless taray\u0131c\u0131lar (Puppeteer veya Playwright) kullan\u0131ld\u0131. Bu ara\u00e7lar, sayfay\u0131 bir taray\u0131c\u0131 gibi render ederek, JavaScript taraf\u0131ndan olu\u015fturulan i\u00e7eri\u011fe eri\u015fmeyi ve kaz\u0131may\u0131 m\u00fcmk\u00fcn k\u0131ld\u0131. Ayr\u0131ca, baz\u0131 sitelerin anti-bot mekanizmalar\u0131 (CAPTCHA, IP engelleme) ile kar\u015f\u0131la\u015f\u0131lmas\u0131 durumunda, IP rotasyonu ve kullan\u0131c\u0131 arac\u0131s\u0131 (user-agent) spoofing gibi teknikler uyguland\u0131.<\/p>\n<h4>Veri Tutarl\u0131l\u0131\u011f\u0131 ve G\u00fcncelleme Stratejileri<\/h4>\n<p>Kaz\u0131nan 6.000'den fazla i\u015f ak\u0131\u015f\u0131n\u0131n zamanla g\u00fcncelli\u011fini yitirmesi veya yeni i\u015f ak\u0131\u015flar\u0131n\u0131n eklenmesi muhtemeldir. Bu nedenle, veri tutarl\u0131l\u0131\u011f\u0131n\u0131 sa\u011flamak ve g\u00fcncel kalmak i\u00e7in bir g\u00fcncelleme stratejisi geli\u015ftirildi. Belirli aral\u0131klarla (\u00f6rne\u011fin, haftal\u0131k veya ayl\u0131k) t\u00fcm kaynaklar\u0131n yeniden taranmas\u0131 ve yeni veya g\u00fcncellenmi\u015f i\u015f ak\u0131\u015flar\u0131n\u0131n tespit edilip veritaban\u0131na eklenmesi\/g\u00fcncellenmesi i\u00e7in otomatik bir s\u00fcre\u00e7 kuruldu. Bu, cron i\u015fleri veya zamanlanm\u0131\u015f bulut fonksiyonlar\u0131 arac\u0131l\u0131\u011f\u0131yla ger\u00e7ekle\u015ftirilebilir.<\/p>\n<h4>Performans Optimizasyonu<\/h4>\n<p>Hem veri kaz\u0131ma a\u015famas\u0131nda hem de arama motoru uygulamas\u0131nda performans optimizasyonu \u00f6nemli bir konuydu.<\/p>\n<ul>\n<li><strong>Kaz\u0131ma Performans\u0131:<\/strong> Scrapy'nin paralel kaz\u0131ma yetenekleri kullan\u0131ld\u0131, ayn\u0131 anda birden fazla iste\u011fin i\u015flenmesi sa\u011fland\u0131. Ayr\u0131ca, gereksiz kaynaklar\u0131n (resimler, CSS dosyalar\u0131) indirilmesinden ka\u00e7\u0131n\u0131ld\u0131.<\/li>\n<li><strong>Arama Performans\u0131:<\/strong> Elasticsearch'in indeksleme stratejileri optimize edildi. Do\u011fru mapping (e\u015fleme) ve analiz\u00f6rlerin kullan\u0131lmas\u0131, sorgu performans\u0131n\u0131 art\u0131rd\u0131. Sorgular\u0131n karma\u015f\u0131kl\u0131\u011f\u0131 azalt\u0131ld\u0131 ve s\u0131k kullan\u0131lan sorgular i\u00e7in \u00f6nbellekleme mekanizmalar\u0131 d\u00fc\u015f\u00fcn\u00fcld\u00fc.<\/li>\n<li><strong>Uygulama Performans\u0131:<\/strong> Frontend taraf\u0131nda, React'in sanal DOM'u ve bile\u015fenlerin optimize edilmi\u015f render edilmesiyle kullan\u0131c\u0131 aray\u00fcz\u00fc h\u0131zl\u0131 tutuldu. Backend API'sinde ise, veritaban\u0131 sorgular\u0131 optimize edildi ve yan\u0131t s\u00fcrelerini azaltmak i\u00e7in hafif bir yap\u0131 kullan\u0131ld\u0131.<\/li>\n<\/ul>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu proje, 6.000'den fazla n8n i\u015f ak\u0131\u015f\u0131n\u0131 kaz\u0131yarak ve interaktif \u00f6nizlemelere sahip bir arama motoru geli\u015ftirerek, n8n toplulu\u011fu i\u00e7in \u00f6nemli bir de\u011fer yaratm\u0131\u015ft\u0131r. Da\u011f\u0131n\u0131k haldeki otomasyon kaynaklar\u0131n\u0131 merkezi ve aranabilir bir platformda bir araya getirmek, kullan\u0131c\u0131lar\u0131n ihtiya\u00e7 duyduklar\u0131 i\u015f ak\u0131\u015flar\u0131n\u0131 \u00e7ok daha h\u0131zl\u0131 ve verimli bir \u015fekilde bulmalar\u0131n\u0131 sa\u011flam\u0131\u015ft\u0131r. Veri kaz\u0131ma, depolama, arama motoru mimarisi ve kullan\u0131c\u0131 aray\u00fcz\u00fc geli\u015ftirme s\u00fcre\u00e7lerinde kar\u015f\u0131la\u015f\u0131lan zorluklar, modern web teknolojileri ve dikkatli m\u00fchendislik yakla\u015f\u0131mlar\u0131yla a\u015f\u0131lm\u0131\u015ft\u0131r. Bu arama motoru, n8n kullan\u0131c\u0131lar\u0131n\u0131n otomasyon potansiyelini tam olarak kullanmalar\u0131na yard\u0131mc\u0131 olacak g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r ve otomasyon ekosistemindeki bilgi eri\u015filebilirli\u011fini art\u0131rma yolunda \u00f6nemli bir ad\u0131md\u0131r.<\/p>\n<h3>SSS (S\u0131k Sorulan Sorular)<\/h3>\n<h4>1. Neden b\u00f6yle bir projeye ihtiya\u00e7 duyuldu?<\/h4>\n<p>n8n toplulu\u011fu b\u00fcy\u00fcd\u00fck\u00e7e, payla\u015f\u0131lan i\u015f ak\u0131\u015flar\u0131n\u0131n say\u0131s\u0131 binlere ula\u015ft\u0131. Ancak, bu i\u015f ak\u0131\u015flar\u0131n\u0131 etkili bir \u015fekilde aramak ve ke\u015ffetmek i\u00e7in merkezi ve geli\u015fmi\u015f bir ara\u00e7 bulunmuyordu. Bu proje, kullan\u0131c\u0131lar\u0131n arad\u0131klar\u0131 otomasyonlar\u0131 kolayca bulmalar\u0131n\u0131 sa\u011flayarak zaman kayb\u0131n\u0131 \u00f6nlemeyi ve verimlili\u011fi art\u0131rmay\u0131 hedefledi.<\/p>\n<h4>2. Veriler nereden topland\u0131?<\/h4>\n<p>Veriler, n8n'in resmi topluluk i\u015f ak\u0131\u015flar\u0131 k\u00fct\u00fcphanesi, GitHub Gist'ler, n8n forumlar\u0131 ve ilgili blog g\u00f6nderileri gibi halka a\u00e7\u0131k \u00e7e\u015fitli kaynaklardan kaz\u0131nm\u0131\u015ft\u0131r.<\/p>\n<h4>3. Bu arama motoru herkesin kullan\u0131m\u0131na a\u00e7\u0131k m\u0131?<\/h4>\n<p>Evet, bu projenin amac\u0131 n8n toplulu\u011funa hizmet etmektir. Geli\u015ftirilen arama motoru genellikle herkese a\u00e7\u0131k bir web uygulamas\u0131 olarak sunulur ve kullan\u0131c\u0131lar\u0131n herhangi bir k\u0131s\u0131tlama olmaks\u0131z\u0131n i\u015f ak\u0131\u015flar\u0131n\u0131 aramas\u0131na ve \u00f6nizlemesine olanak tan\u0131r.<\/p>\n<h4>4. \u0130\u015f ak\u0131\u015flar\u0131 ne s\u0131kl\u0131kla g\u00fcncelleniyor?<\/h4>\n<p>Veri tutarl\u0131l\u0131\u011f\u0131n\u0131 sa\u011flamak ve yeni i\u015f ak\u0131\u015flar\u0131n\u0131 dahil etmek i\u00e7in d\u00fczenli g\u00fcncelleme s\u00fcre\u00e7leri planlanm\u0131\u015ft\u0131r. Genellikle haftal\u0131k veya ayl\u0131k periyotlarla t\u00fcm veri kaynaklar\u0131 yeniden taranarak yeni veya g\u00fcncellenmi\u015f i\u015f ak\u0131\u015flar\u0131 tespit edilip veritaban\u0131na yans\u0131t\u0131l\u0131r.<\/p>\n<h4>5. Projenin gelecekteki planlar\u0131 nelerdir?<\/h4>\n<p>Gelecekteki planlar aras\u0131nda, kullan\u0131c\u0131lar\u0131n kendi i\u015f ak\u0131\u015flar\u0131n\u0131 y\u00fcklemesine izin vermek, i\u015f ak\u0131\u015flar\u0131 i\u00e7in derecelendirme ve yorum sistemleri eklemek, daha geli\u015fmi\u015f yapay zeka destekli arama ve \u00f6neri algoritmalar\u0131 entegre etmek ve daha fazla veri kayna\u011f\u0131n\u0131 (\u00f6rne\u011fin, \u00f6zel n8n kurulumlar\u0131ndan payla\u015f\u0131lan i\u015f ak\u0131\u015flar\u0131) dahil etmek yer alabilir.<\/p>\n","protected":false},"excerpt":{"rendered":"\u00d6rnek bir Elasticsearch sorgusu:","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":[1],"tags":[],"class_list":{"0":"post-36886","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","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>6.000&#039;den Fazla n8n \u0130\u015f Ak\u0131\u015f\u0131n\u0131 Kaz\u0131yarak \u0130nteraktif \u00d6nizlemeli Bir Arama Motoru Olu\u015fturmak - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\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\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"6.000&#039;den Fazla n8n \u0130\u015f Ak\u0131\u015f\u0131n\u0131 Kaz\u0131yarak \u0130nteraktif \u00d6nizlemeli Bir Arama Motoru Olu\u015fturmak\" \/>\n<meta property=\"og:description\" content=\"\u00d6rnek bir Elasticsearch sorgusu:\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-24T10:00:43+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=\"18 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"6.000&#8217;den Fazla n8n \u0130\u015f Ak\u0131\u015f\u0131n\u0131 Kaz\u0131yarak \u0130nteraktif \u00d6nizlemeli Bir Arama Motoru Olu\u015fturmak\",\"datePublished\":\"2025-12-24T10:00:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/\"},\"wordCount\":3354,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/\",\"name\":\"6.000'den Fazla n8n \u0130\u015f Ak\u0131\u015f\u0131n\u0131 Kaz\u0131yarak \u0130nteraktif \u00d6nizlemeli Bir Arama Motoru Olu\u015fturmak - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-24T10:00:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"6.000&#8217;den Fazla n8n \u0130\u015f Ak\u0131\u015f\u0131n\u0131 Kaz\u0131yarak \u0130nteraktif \u00d6nizlemeli Bir Arama Motoru Olu\u015fturmak\"}]},{\"@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":"6.000'den Fazla n8n \u0130\u015f Ak\u0131\u015f\u0131n\u0131 Kaz\u0131yarak \u0130nteraktif \u00d6nizlemeli Bir Arama Motoru Olu\u015fturmak - Kodlar\u0131n Gizemli D\u00fcnyas\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\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/","og_locale":"tr_TR","og_type":"article","og_title":"6.000'den Fazla n8n \u0130\u015f Ak\u0131\u015f\u0131n\u0131 Kaz\u0131yarak \u0130nteraktif \u00d6nizlemeli Bir Arama Motoru Olu\u015fturmak","og_description":"\u00d6rnek bir Elasticsearch sorgusu:","og_url":"https:\/\/fatihsoysal.com\/blog\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-24T10:00:43+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"18 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"6.000&#8217;den Fazla n8n \u0130\u015f Ak\u0131\u015f\u0131n\u0131 Kaz\u0131yarak \u0130nteraktif \u00d6nizlemeli Bir Arama Motoru Olu\u015fturmak","datePublished":"2025-12-24T10:00:43+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/"},"wordCount":3354,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/","url":"https:\/\/fatihsoysal.com\/blog\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/","name":"6.000'den Fazla n8n \u0130\u015f Ak\u0131\u015f\u0131n\u0131 Kaz\u0131yarak \u0130nteraktif \u00d6nizlemeli Bir Arama Motoru Olu\u015fturmak - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-24T10:00:43+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/6-000den-fazla-n8n-is-akisini-kaziyarak-interaktif-onizlemeli-bir-arama-motoru-olusturmak\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"6.000&#8217;den Fazla n8n \u0130\u015f Ak\u0131\u015f\u0131n\u0131 Kaz\u0131yarak \u0130nteraktif \u00d6nizlemeli Bir Arama Motoru Olu\u015fturmak"}]},{"@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\/36886","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=36886"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36886\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=36886"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=36886"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=36886"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}