:)
Benim oyum bilgibedava dan yana.
Bence isme çok fazla takılmadan aksiyona geçilmeli. İsim daha sonra değiştirilebilir de.
Bismillah deyip başlayalım derim. Detaylara takılıp amaçtan uzaklaşmayalım bence.
Bilgibedava.com alındı. W2008 + SQL2012 Sunucu hazır. Hadi faaliyete geçin.
Gavurun dediği gibi “dont speak about it do it”
Bilgibedava.com al�nd�. W2008 + SQL2012 Sunucu haz�r. Hadi faaliyete ge�in.
Gavurun dedi�i gibi “dont speak about it do it”
�
From: bnr...@googlegroups.com [mailto:bnr...@googlegroups.com] On Behalf Of Erdem Bener
Sent: Thursday, June 20, 2013 10:13 AM
To: bnr...@googlegroups.com
Subject: RE: YNT: PDF DOC XLS vs. Dok�manlar� SQL ��inde �ndekslemek ve ��erik Aramas� Yapmak
�
Bence isme �ok fazla tak�lmadan aksiyona ge�ilmeli. �sim daha sonra de�i�tirilebilir de.
Bismillah deyip ba�layal�m derim. Detaylara tak�l�p ama�tan uzakla�mayal�m bence.
�
From: bnr...@googlegroups.com [mailto:bnr...@googlegroups.com] On Behalf Of Tufan Dayi
Sent: Thursday, June 20, 2013 9:56 AM
To: bnr...@googlegroups.com
Subject: RE: YNT: PDF DOC XLS vs. Dok�manlar� SQL ��inde �ndekslemek ve ��erik Aramas� Yapmak
�
yaz�l�m d���nda da bilgiler yer alacaksa olabilir. bildi�iniz gibi sitenin google aramalar�nda da �st s�ralarda olmas� i�in i�eri�in domain ad�nda ge�mesi faydal�d�r. misal; yazilimsozluk.com gibi bir alan ad� sizi ba�lara �ekebilir. i�eri�ide s�zl�k edas�nda olursa daha keyifli olabilir. yaz ge�, yaz ge�....
From: erdem...@gmail.com
To: bnr...@googlegroups.com
Subject: RE: YNT: PDF DOC XLS vs. Dok�manlar� SQL ��inde �ndekslemek ve ��erik Aramas� Yapmak
Date: Thu, 20 Jun 2013 09:44:43 +0300
:)
�
Benim oyum bilgibedava dan yana.
Sent: Thursday, June 20, 2013 9:44 AM
To: bnr...@googlegroups.com
Subject: RE: YNT: PDF DOC XLS vs. Dok�manlar� SQL ��inde �ndekslemek ve ��erik Aramas� Yapmak
�
www.beyinbedava.com daha iyi olabilir. Sloganda; ne hamall�k edecem att�m siteye duruyor.
Date: Thu, 20 Jun 2013 09:20:47 +0300
Subject: Re: YNT: PDF DOC XLS vs. Dok�manlar� SQL ��inde �ndekslemek ve ��erik Aramas� Yapmak
From: abdulka...@gmail.com
To: bnr...@googlegroups.com:))
�
S�permi�.
�
Ben ciddi bir isim �nereyim: Bakt�m �u an al�nabiliyormu�:
�
�
bannerda Cem Karaca'n�n me�hur �ark�s�ndan bir al�nt�:
"Hava bedava, su bedava, bilgi bedava..."
�
�
�
20 Haziran 2013 09:06 tarihinde Tufan Dayi <td...@hotmail.com> yazd�:
Date: Thu, 20 Jun 2013 08:58:51 +0300
Subject: Re: YNT: PDF DOC XLS vs. Dok�manlar� SQL ��inde �ndekslemek ve ��erik Aramas� Yapmak
From: abdulka...@gmail.com
To: bnr...@googlegroups.com�
Blog kurma fikri g�zel bir fikir.
Dilerseniz bir alan ad� belirleyelim ve hemen hosting i�ini halledeyim.
Grup �yesi herkesi de edit�r yapal�m.
H�zla b�y�yen kaliteli bir kaynak site olabiliriz, neden olmas�n?
�
Alan ad� �nerileri olan var m�?
�
�
20 Haziran 2013 08:24 tarihinde Tufan Dayi <td...@hotmail.com> yazd�:
Erdem hocaya kat�l�yorum bunlar son derece �nemli ve de�erli bilgiler, share point �zerinde �ok geli�mi� bir arama �zelli�i var bundan daha ba�ar�l�s�n� yapan fast search diye bir �r�nde var yanl�� bilmiyorsam lisans �creti 100.000$ :) turkcell in sitesi �uan share point �zerinde kurulu �al���yor ve fast search denen �r�n� kullan�yor.
Elinize sa�l�k te�ekk�rler.
Date: Wed, 19 Jun 2013 23:22:59 +0300
Subject: YNT: PDF DOC XLS vs. Dok�manlar� SQL ��inde �ndekslemek ve ��erik Aramas� Yapmak
From: erdem...@gmail.com
To: bnr...@googlegroups.com
Abi ellerine saglik.�
Bir blog kurup bu tarz paylasimlari daha fazla kisiyle paylassak nasil olur?
�
Bence bircok kaynaktan daha faydali bir kaynak olur.
-------- Orjinal mesaj --------
Kimden: Abdulkadir Bener <abdulka...@gmail.com>
Tarih:
Al�c�: bnr...@googlegroups.com
Konu: PDF DOC XLS vs. Dok�manlar� SQL ��inde �ndekslemek ve ��erik Aramas� Yapmak��inize yarar m� bilmem; ama bu yaz�y� haz�rlamak geldi i�imden.
�
Yak�n zamanda uygulad���m i�in i�lemle ilgili deneyimimi payla�mak istedim.
Dok�manlar� SQL i�ine kaydetmek, ard�ndan�dok�man i�inde ge�en kelimelere g�re arama yaparak bir t�r k�t�phane olu�turmak nas�l bir i�lem gerektirir tam olarak bununla ilgili biraz bilgi payla�mak istiyorum.
�
�nce ihtiyac� biraz daha netle�tirelim.
�
SharePoint'i biliriz hepimiz. �ok ba�ar�l� bir dok�man ar�ivleme altyap�s� da vard�r. Dosyay� upload edersiniz. Sonra bir "ARAMA" yapars�n�z bir de bak�verirsiniz ki dok�manlar�n�z�n i�inde ge�en kelimeleri bir ��rp�da bulup getirmi� kar��n�za ve ilgili dok�manlar an�nda ekran�n�zda.
�
Peki bu nas�l oluyor da DOC, XLS, PDF, TXT vs. dosyalar SQL i�inde kaydedilirken i�eri�ine g�re indeksleniyor ve SELECT sorgular� kullan�larak hemen arad���m�z� bulabiliyoruz.
�
��lem biraz u�ra�t�r�c� ama sonu�lar�na de�er.
�
�n gereksinimler:
�
�ncelikle bu i� i�in SQL 2012 �neririm, en az�ndan SQL 2008 R2 olmas�nda yarar var. SQL 2012 �neririm�zira kelimeleri ararken T�rk�e wordbreaker kullan�labiliyor, ve semantic arama fonksiyonu sayesinde birbirine benzeyen dok�manlar tespit edilebiliyor. Bu ba�ka bir yaz�n�n konusu olsun.
�
SQL Server kurulum yap�l�rken Full-Text servislerini kurmu� olmal�y�z, veya sonradan bu servisler eklenmi� olmal�d�r.
�
�lgili sunucuda Windows Indexing servisleri mutlaka �al���yor olmal�. SQL Server dok�manlar� indekslemek i�in i�letim sisteminin indexing servislerinden yararlanmaktad�r.
�
Normal �artlarda 150'den fazla dok�man t�r� W�ndows Indexing servisleri taraf�ndan (ve dolay�s�yla SQL taraf�ndan) indekslenebilmektedir. Ancak PDF dok�manlarla ilgili bir s�k�nt� da mevcuttur. PDF Adobe �r�n� oldu�u i�in Adobe firmas�n�n yazd��� filtre kullan�lmal�d�r. Tam bu noktada �ok dikkatli olunmas� gereken bir ayr�nt�dan bahsetmem laz�m:
�
Adobe'un Acrobat'�n� kurdu�unuzda normalde indexing servisi pdf dok�manlar� indeksler ama e�er SQL'iniz 64 bit ise bu filtre maalesef i�e yaramamaktad�r. A�a��da bunu nas�l a�aca��n�zdan ba�layarak i�lemleri ad�m ad�m a��klamaya �al��t�m.
�
Umar�m faydal� olur.,.
�
(1)
SQL'inizin 64 bit oldu�unu varsayarak 64 bit PDF filtresi i�in
http://www.adobe.com/support/downloads/thankyou.jsp?ftpID=4025&fileID=3941
Bu dosyay� indirip kurun derim. Sunucuda bir �ekilde Acrobat Reader varsa ilk �nce bunu kald�rman�z gerekecek.�
(2)
My Computer (Bilgisayar�m) sa� t�klay�n Properties (�zellikler) i a��n.
System Properties (Sistem �zellikleri)'ni a��p Advanced (Geli�mi�) sekmesine ge�in.
Alttaki listeden "Path" de�i�kenini bulup Edit (D�zenle) ile a��n.
Kutudaki yaz�n�n sonuna noktal� virg�l koyup (;) yeni bir path olarak
C:\Program Files\Adobe\Adobe PDF iFilter 9 for 64-bit platforms\bin
ekleyin ve kaydederek kapat�n.
�
(3)
Bu ad�mda �nce SQL servisini restart edip i�letim sisteminde tan�ml� indeks filtrelerinin SQL'e y�klenmesini sa�lamal�y�z:
exec sp_fulltext_service 'load_os_resources', 1;
exec sp_fulltext_service 'verify_signature', 0;
�
(4)
SELECT * FROM sys.fulltext_document_types WHERE document_type='.pdf'
Bu sorguyu �al��t�rd���n�zda sonu� geliyorsa kurulum tamamlanm��t�r.
G�r�nm�yorsa �nce SQL Server'� yeniden ba�lat�p yeniden sorgulay�n.
Hala g�remiyorsan�z sunucuyu yeniden ba�lat�p tekrar sorgulay�n.
Buna ra�men g�remiyorsan�z "Adobe PDF iFilter" program�n� uninstall edip
yeniden kurun ve 2.ad�mdan tekrar deneyin. Unutmay�n SQL ve iFilter her ikisi de 64 bit olmal�.�
(5)
A�a��daki komutlar� �al��t�r�p bir veritaban� ve tablo haz�rlay�n:
CREATE DATABASE TEST
GO
USE TEST
GO
CREATE TABLE [dbo].[testdosyalar](
�[id] [int] IDENTITY(1,1) NOT NULL,
�[aciklama] [nvarchar](200) NULL,
�[uzanti] [varchar](50) NULL,
�[dosya] [varbinary](max) NULL,
�CONSTRAINT [PK_testdosyalar] PRIMARY KEY CLUSTERED ([id] ASC) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
�
(6)
SQL Server Management Studio ile TEST veritaban�na ba�lan�n.
testdosyalar tablosunu sa� t�klay�n "Full Text Index" alt�ndaki
"Define Full Text Index" se�ene�ini t�klay�n.
Next tu�u ile "Select Table Columns" ekran�na kadar gelin.
"dosya" yazan sat�r� i�aretleyip "Language for word breaker" kolonunu "Turkish" yap�n.
(Not: SQL 2012'de "Turkish" var ancak 2008'de yoktur, 2008'de "Neutral" se�in veya bo� b�rak�n)
"Type" kolonunu "uzanti" yap�n. Type kolonuna dosyalar�n uzant�s�n� kaydetmek zorunday�z.
B�ylece SQL Server kelimeleri ay�klarken dosyan�n tipini bilmi� olacak ve ona g�re kelimeleri ay�klayacak.
SQL 2012'de bu ekranda bir de "Statistical Semantics" kolonu gelir. ��aretlerseniz
birbirine i�erik olarak �ok benzeyen veya ayn� olan dok�manlar�n tespiti m�mk�n olur.
Next ile devam edip "Select Change Tracking" se�ene�ini "Automatically" olarak b�rak�n.
Next ile devam edip "Create a new catalog" se�ili hale getirin.
New catalog kutusuna name alan�na "testdosyalarcatalog" yaz�n.
"Accent sensitivity" se�ene�ini "Sensitive" b�rak�n.
T�rk�e aksanl� bir dil olmad��� i�in (yaz�ld��� gibi okunan bir dil oldu�undan) buradaki
Accent Sensitive ayar�n�n �nemi de yok asl�nda.
Index filegroup se�ene�ini dilerseniz ayarlayabilirsiniz.
Full-text stoplist default olarak <system> se�ilidir. Bunu <off> yaparsan�z t�m kelimeler indekslenir.
Ancak <system> b�rak�rsan�z �ok genel olan ve birka� harften olu�an kelimeler indekslenmez.
Mesela one two three gibi kelimeler indekslenmez.
Next ile devam edip "schedule" ekran�na gelin.
Katalog veya bu tablo i�in belirli aral�klarla indeksleme i�in zamanlay�c� ayar�
yapabilirsiniz.
Next ile devam edip "Finish" ile ayarlamay� bitirin.�
(6)
Art�k deneme i�in bir kay�t �retebiliriz. C s�r�c�s�nde TEMP klas�r� alt�nda MySQL 5.6 kullan�m
k�lavuzu pdf d�k�man�n�n oldu�unu varsayarak komutu a�a��daki gibi yaz�p �al��t�rabiliriz.
DECLARE @pdf AS VARBINARY(MAX)
SELECT @pdf = CAST(BULKCOLUMN AS VARBINARY(MAX))
FROM OPENROWSET(BULK 'C:\TEMP\Refman-5.6-en.a4.pdf',SINGLE_BLOB) AS X
INSERT INTO testdosyalar (aciklama,uzanti,dosya)
SELECT 'My SQL 5.6 Kullan�m K�lavuzu','.pdf', @pdf�
(7)
Kontrol edip bir sat�r pdf dok�man�n tabloda oldu�undan emin olun:
SELECT * FROM testdosyalar�
(8)
Bir iki dakika bekleyin ve katalogun g�ncellendi�inden emin olun ve
a�a��daki komutla PDF dosya i�inde arama yapabildi�inizi g�rmek i�in test yap�n:
SELECT * FROM testdosyalar
WHERE CONTAINS(dosya,'MySQL')
�
(9)
Sonu� gelmiyorsa fulltext katalog g�ncellenmemi� demektir.
Manuel g�ncelleme i�in �unu �al��t�r�n:
USE TEST
GO
ALTER FULLTEXT INDEX ON testdosyalar START FULL POPULATION
GO
�
Bu komut sonunda a�a��daki hata geliyorsa servisi restart edip yeniden 8.maddeyi deneyin.
Mesaj:
Warning: Request to start a full-text index population on table or
indexed view 'testdosyalar' is ignored because a population is currently
active for this table or indexed view.
--
�
8.Maddedeki sorgu sonu� veriyorsa i�lem tamam demektir.
Full Text sorgulama ile ilgili komutlar i�in BooksOnline'dan yard�m alabilirsiniz.
�
(10)
Hay�rl� olsun.
Not: Dok�manlar� varbinary(MAX) alana SQL'in i�ine de�il de FILESTREAM ile disk sisteminde tutmak aras�nda burada anlat�lan i�lemler a��s�ndan fark olu�maz. SQL her ikisini de FullText ile indeksleyebilir.�
Sayg�lar...
--
Bu e-postay� Google Gruplar�'ndaki "bnr_net" adl� gruba abone oldu�unuz i�in ald�n�z.
Bu grubun aboneli�inden ��kmak ve bu gruptan art�k e-posta almamak i�in bnr_net+u...@googlegroups.com adresine e-posta g�nderin.
Daha fazla se�enek i�in, https://groups.google.com/groups/opt_out adresiniz ziyaret edin.
�
�
--
Bu e-postay� Google Gruplar�'ndaki "bnr_net" adl� gruba abone oldu�unuz i�in ald�n�z.
Bu grubun aboneli�inden ��kmak ve bu gruptan art�k e-posta almamak i�in bnr_net+u...@googlegroups.com adresine e-posta g�nderin.
Daha fazla se�enek i�in, https://groups.google.com/groups/opt_out adresiniz ziyaret edin.
�
�
--
Bu e-postay� Google Gruplar�'ndaki "bnr_net" adl� gruba abone oldu�unuz i�in ald�n�z.
Bu grubun aboneli�inden ��kmak ve bu gruptan art�k e-posta almamak i�in bnr_net+u...@googlegroups.com adresine e-posta g�nderin.
Daha fazla se�enek i�in, https://groups.google.com/groups/opt_out adresiniz ziyaret edin.
�
��
--
Bu e-postay� Google Gruplar�'ndaki "bnr_net" adl� gruba abone oldu�unuz i�in ald�n�z.
Bu grubun aboneli�inden ��kmak ve bu gruptan art�k e-posta almamak i�in bnr_net+u...@googlegroups.com adresine e-posta g�nderin.
Daha fazla se�enek i�in, https://groups.google.com/groups/opt_out adresiniz ziyaret edin.
�
�
--
Bu e-postay� Google Gruplar�'ndaki "bnr_net" adl� gruba abone oldu�unuz i�in ald�n�z.
Bu grubun aboneli�inden ��kmak ve bu gruptan art�k e-posta almamak i�in bnr_net+u...@googlegroups.com adresine e-posta g�nderin.
Daha fazla se�enek i�in, https://groups.google.com/groups/opt_out adresiniz ziyaret edin.
�
��
--
Bu e-postay� Google Gruplar�'ndaki "bnr_net" adl� gruba abone oldu�unuz i�in ald�n�z.
Bu grubun aboneli�inden ��kmak ve bu gruptan art�k e-posta almamak i�in bnr_net+u...@googlegroups.com adresine e-posta g�nderin.
Daha fazla se�enek i�in, https://groups.google.com/groups/opt_out adresiniz ziyaret edin.
�
�--
Bu e-postay� Google Gruplar�'ndaki "bnr_net" adl� gruba abone oldu�unuz i�in ald�n�z.
Bu grubun aboneli�inden ��kmak ve bu gruptan art�k e-posta almamak i�in bnr_net+u...@googlegroups.com adresine e-posta g�nderin.
Daha fazla se�enek i�in, https://groups.google.com/groups/opt_out adresiniz ziyaret edin.
�
�
--
Bu e-postay� Google Gruplar�'ndaki "bnr_net" adl� gruba abone oldu�unuz i�in ald�n�z.
Bu grubun aboneli�inden ��kmak ve bu gruptan art�k e-posta almamak i�in bnr_net+u...@googlegroups.com adresine e-posta g�nderin.
Daha fazla se�enek i�in, https://groups.google.com/groups/opt_out adresiniz ziyaret edin.
�
�--
Bu e-postay� Google Gruplar�'ndaki "bnr_net" adl� gruba abone oldu�unuz i�in ald�n�z.
Bu grubun aboneli�inden ��kmak ve bu gruptan art�k e-posta almamak i�in bnr_net+u...@googlegroups.com adresine e-posta g�nderin.
Daha fazla se�enek i�in, https://groups.google.com/groups/opt_out adresiniz ziyaret edin.
�
�--
Bu e-postay� Google Gruplar�'ndaki "bnr_net" adl� gruba abone oldu�unuz i�in ald�n�z.
Bu grubun aboneli�inden ��kmak ve bu gruptan art�k e-posta almamak i�in bnr_net+u...@googlegroups.com adresine e-posta g�nderin.
Daha fazla se�enek i�in, https://groups.google.com/groups/opt_out adresiniz ziyaret edin.
�
�
Bu e-postay� Google Gruplar�'ndaki "bnr_net" adl� gruba abone oldu�unuz i�in ald�n�z.
Bu grubun aboneli�inden ��kmak ve bu gruptan art�k e-posta almamak i�in bnr_net+u...@googlegroups.com adresine e-posta g�nderin.
Daha fazla se�enek i�in, https://groups.google.com/groups/opt_out adresiniz ziyaret edin.
�
�
Natro data center içinde. Gerçek sunucu. Sanal sunucular sıkıntılı. İşi kim yapacaksa bilgileri paylaşalım.
Kişisel fikrim.
Buradaki kimsenin yeni bir yazılım üretecek kadar zamanı yok.
Hazır paketlerden birini kuralım derim.
Niye sakınca olsun.
Natro üzerinde aktif 7 tane sunucu vardı 1 tane daha ekledim. Maksat bilgiyse bunun bedeli ölçülemez.
Konunun başlangıcı olan Full text le ilgili bilgiyi almanın bence bedeli olmaz. Bu şekilde ayda bir konu açsanız ve birileri de bunu okusa bunun fiyatını kim biçebilir. Ayrıca alınan sunucu iyi bir sunucu olduğu için bu sunucuyu başka yerlerde de kullanma şansım var. İşin ticari yönünü boş verelim biran önce bu güzel fikri hayata geçirelim. Biz niye her seferinde stackoverflow a gidelim neden bir stackoverflow olmayalım. Ben kendi adıma bunun eksikliğini özellikle mobil projelerde çok yaşadım. Başlamak bitirmenin yarısıdır. Başlayalım.