PDA

View Full Version : جستجو برروی متن pdf توسط دستور fulltextsearch



spicirmkh
جمعه 13 بهمن 1391, 20:23 عصر
سلام

من می خواهم بر روی متن لاتین فایلهای pdf جستجو توسط دستور fulltextsearch انجام دهم اما نتیجه جستجو خالی است و هیچی پیدا نمی کند مرحله انجام کارام بشرح زیر می باشد


فایل Adobe IFilter 6 از سایت دانلود و نصب کردم sql server 2008 R2 را restart بعد دستور زیر را اجرا کردم



Exec sp_fulltext_service 'load_os_resources', 1
Exec sp_fulltext_service 'verify_signature', 0

select document_type, path from sys.fulltext_document_types where document_type = '.pdf'


نتیجه برگشتی



document_type= .pdf
path = C:\Program Files\Adobe\Adobe PDF <span class="highlight">iFilter</span> 9 for 64-bit platforms\bin\PDFFilter.dll


سپس ایجاد و اضافه کردن بانک و جستجو





CREATE TABLE t1( c1 INT IDENTITY PRIMARY KEY, c2 VARBINARY(MAX), c3 VARCHAR(10))


ALTER FULLTEXT INDEX ON [dbo].[t1] ADD ([c2] TYPE COLUMN [c3])
ALTER FULLTEXT INDEX ON [dbo].[t1] ENABLE

INSERT t1(c2,c3) SELECT BulkColumn,'.pdf' FROM OPENROWSET( BULK 'D:\pdf\BS.pdf', Single_Blob) AS tmp


SELECT * FROM t1 WHERE CONTAINS(*,N'steel')




نتیجه خالی است اشکال من در کجاست ؟

آیا به نسخه acrobat من که ورژن 10 است بستگی دارد ؟

با تشکر

mhsn_Danger
شنبه 14 بهمن 1391, 20:35 عصر
سلام

من مراحلی که شما انجام دادید رو انجام دادم. با این تفاوت که مراحل ایجاد Index برای جدول رو با ویزارد انجام دادم و جواب گرفتم.

چند بار این مسئله رو پرسیدید و تمام مراحل شما هم درست هست. نمیشه هم کدی براتون فرستاد چون مرتبط با پیکربندی بانک می شه این مسئله. به هر حال نمیدونم چطوری می تونم کمکتون کنم.
اگه کمکی از من بر میاد بفرمایید در خدمتم.

به امیـــد ظهور مولای مهربان عالم

spicirmkh
یک شنبه 15 بهمن 1391, 08:18 صبح
سلام

اگز امکان اش است از بانک یک backup و از script که جستجو انجام می دهد و فایل pdf بفرستید من اینجا تست کنم

آیا به نسخه Acrobbat من که adobe acrobat pro 10 است رابطی دارد ؟

آیا توی نصب ifilter فایل خاصی باید جای کپی شود ؟

من از iFilter 9 , 64 bit استفاده کرده ام

با تشکر



سلام

من مراحلی که شما انجام دادید رو انجام دادم. با این تفاوت که مراحل ایجاد Index برای جدول رو با ویزارد انجام دادم و جواب گرفتم.

چند بار این مسئله رو پرسیدید و تمام مراحل شما هم درست هست. نمیشه هم کدی براتون فرستاد چون مرتبط با پیکربندی بانک می شه این مسئله. به هر حال نمیدونم چطوری می تونم کمکتون کنم.
اگه کمکی از من بر میاد بفرمایید در خدمتم.

به امیـــد ظهور مولای مهربان عالم

mhsn_Danger
یک شنبه 15 بهمن 1391, 10:53 صبح
سلامی چند باره

و اما backup از بانک گرفتم :
Test Backup (http://delavarimohsen.persiangig.com/other/TestBackup.rar)

برای جستجو هم همون دستوری که خودت نوشتی رو جستجو کردم که در زیر میارم:


select * from tblFiles where contains(FileData,'jungle')')


فایل pdf هم داخل backup موجود هست. و برای اینکه دلت آرو بگیر!!! برات آپلود هم کردم
Pdf File (http://delavarimohsen.persiangig.com/other/1%20%281%29.pdf)

به امیـد ظهور مولای مهربانمان

spicirmkh
یک شنبه 15 بهمن 1391, 11:26 صبح
من بوسیله این دستور مجددا درون پایگاه شما همان فایل pdf اضافه کردم


INSERT INTO [tblFiles] ([FileData],[Ext]) SELECT BulkColumn,'.pdf' FROM
OPENROWSET( BULK 'D:\TestBackup\1.pdf', Single_Blob) AS tmp


تعداد دو رکورد مشابه نشان می دهد که وارد بانک شده است .
اما بعد از دستور جستجو فقط یک رکورد نشان می دهد که رکورد که شما داده اید نشان می دهد .
نکته جالب اینجاست فایل TestCatalog را rebuild که کردم هیچی پیدا نکرد .

این مسئله نشان می دهد که شاید فایل Ifilter بدرستی کار نمی کند
دستور زبر را انجام داده ام


select document_type, path from sys.fulltext_document_types where document_type = '.pdf'


نتیجه


.pdf
C:\Program Files\Adobe\Adobe PDF iFilter 9 for 64-bit platforms\bin\PDFFilter.dll




آیا به نسخه اکروبات من بستگی دارد ؟
آیا دستور insert من درسته ؟
آیا فایل PDFFilter.dll جای خواستی کپی کنم ؟
در رجستر ویندوز تغییری بدهم ؟

من sql server 2008 r2 برروی windows 7 می باشد


با تشکر

mhsn_Danger
یک شنبه 15 بهمن 1391, 16:58 عصر
سلام داداش

اول اینکه نیاز به هیچ تغییری ندارید.

دوم از لینک زیر Foxit IFilter رو دانلود کن ببین کارت رو راه میندازه یا نه.

Foxits Software (http://www.foxitsoftware.com/downloads)

امیدوارم از همین موضوع باشه. البته ....


به امیـــد ظهور مولای مهربانمان

spicirmkh
یک شنبه 15 بهمن 1391, 18:36 عصر
برنامه FoxitPDFIFilter220_Desktop_x64_enu دانلود و نصب کردم

sql را restart کردم دستور زیر اجر کردم

select document_type, path from sys.fulltext_document_types where document_type = '.pdf'

C:\Program Files\Foxit Software\Foxit PDF IFilter\PDFFilt.dll


TestCatalog را rebuild انجام دادم هیچی پیدا نکرد

ببخشید خسته تان کردم

با تشکر

mhsn_Danger
دوشنبه 16 بهمن 1391, 09:32 صبح
سلام رفیق

من دیگه مسئله ی خاصی رو متوجه نمیشم.

البته حالا که همه راه ها رو امتحان کردی بیا نسخه ی 32bit ی IFilter رو نصب کن ببین چی میشه.

شرمنده که بیش از این نتونستم کمکتون کنم.

به امیـــد ظهور مولای مهربانمان

spicirmkh
دوشنبه 16 بهمن 1391, 15:11 عصر
خود شما نسخه 64 بیتی دارید یا 64
من ویندوزم 64 است نمی توانم بخاطر یک برنامه ویندوز عوض کنم تازه روی سرور می خواهم پیاده کنم ان هم 64 بیتی است

spicirmkh
دوشنبه 06 آبان 1392, 21:18 عصر
سلام
امكان دارد من تمام قابليت sql server نصب نكرده ام ايا براي اينكه داخل متن pdf جستجو كنم فيچر خاصي از sql نصب كنم
باتشكر


سلام رفیق

من دیگه مسئله ی خاصی رو متوجه نمیشم.

البته حالا که همه راه ها رو امتحان کردی بیا نسخه ی 32bit ی IFilter رو نصب کن ببین چی میشه.

شرمنده که بیش از این نتونستم کمکتون کنم.

به امیـــد ظهور مولای مهربانمان