2016-03-23 21 views
-1

Özel bir depolama sisteminden SQL'e geçmek için belge depolama hizmeti sitesinin yeniden yapılandırılması üzerinde çalışıyorum. Her şey oldukça iyi gidiyor, ancak belirli metin dizileri için depomuzda arama yapmanın bir yolunu bulmalıyım. Çok sayıda farklı dosya türü kullanıyoruz (.xls, .xlsx, .doc, .txt, vb.). PDFSharp kullanarak satırbaşlı yeniden oluşturma yoluyla ilk olarak PDF'ye dönüştürerek kullanıcıya gösterilir.Binlerce dosyayı gerçek zamanlı olarak verimli bir şekilde nasıl arayabilirim?

Hız, tek bir dosyayı görüntülemek/aramak için dikkate alınmaz, ancak ölçeklenebilirlik konusunda endişelerim var. Kopyalama işlemini yaparak ve daha sonra dönüştürme sürecimize girerek işleyen bir metin araması yapabildim, ancak bunun bir müşterinin tüm belge listesinden (binlerce ve binlerce belge) arama yapmak için işe yaramayacağından eminim. Bunların hepsi tek tip bir dosya türüyse, yapılması daha kolay olabilir, ancak değildir.

Bunu habersiz yaptığımın etkili bir yolu var mı?

DÜZENLEME: belgeler DB

+1

SQL Server'da tam metin arama yeteneklerinin farkında mısınız? Onları denedin mi? – TomTom

+0

Ben değilim. Tam metin aramayı inceledim, ancak dosyalarımız metin dosyaları olarak saklanmadığından, SQL sunucusunun dosyaları dizine ekleyip dönüştüremeyeceğini bilmiyorum (önce dönüştürülmeleri gerekiyor). Ve bu tamamen bir cehalet noktasıdır, ancak tam metin dizini, tüm şeyi veritabanında metin içinde saklamayı gerektirmez mi? Ve sayfa numaralarını bundan nasıl alabilirim? –

+0

Sorunuz bana açık değil. Özel bir biçimde dosyalarınız var ve ne? bunları "gerçek zamanlı" olarak SQL'e aktarmanız mı gerekiyor? Bunu gerektiren herhangi bir senaryoyu hayal edemiyorum, bu yüzden ihtiyacınızı yanlış anlamalıyım. –

cevap

1

Benim tavsiyesinde sunucusunda depolanan ve belge URL'ler üzerinden başvurulan SQL veya bir dosyada ya bir dizin oluşturmaktır. Her dosyadaki olası tüm olası arama terimleriyle eşleşen dosyalardan biri.

+0

Hangi terimlerin ilgilendiğini nasıl bilebilirim/Sadece bir listeye tüm kelimeleri dahil etmem (",,", ")? –

+0

Bu, cevabı bilmediğim bir iş kuralı sorusu. kara liste (bunlar hariç tüm kelimeler) veya beyaz liste (yalnızca bu kelimeler) kesinlikle bir geliştirme açısından ele almanın bir yoludur, –

+0

Teşekkür ederim. –

İlgili konular