, wenn Sie Sie können keinen Unterschied zwischen den Dokumenten vornehmen wollen, einen Index verwenden. Sie können die Struktur eines Ordners mit filesysteminfo durchlaufen. Mit filesysteminfo können Sie prüfen, ob es sich um einen Ordner oder ein Dokument handelt. Wenn es sich um ein Dokument handelt, indizieren Sie es, wenn Sie die Funktion nicht erneut aufrufen.
Dim filesysteminfo As FileSystemInfo
Dim FSIs As FileSystemInfo() = New DirectoryInfo(yourfolderroot).GetFileSystemInfos
For Each filesysteminfo In FSIs
If TypeOf filesysteminfo Is DirectoryInfo Then
function_create_document(filesysteminfo.FullName, indexwriter, id)
Else
Dim dynamic_doc As New Document()
Dim sr As System.IO.StreamReader = New StreamReader(filesysteminfo.FullName)
Dim filename As String = filesysteminfo.Name
...
, wenn Sie einen Unterschied machen möchten, können Sie überprüfen, ob Sie das Dokument aus der Datenbank oder aus dem File-Server erhalten. Speichern Sie einfach Ihre Informationen in einem Feld.
eine string verwenden (Yourstring), wenn Ihr Dokument aus der Datenbank yout String ist „Datenbank“ sonst ist es „File-Server“
Dim field_typ As Field = New Field("doc_typ", yourstring, Field.Store.YES, Field.Index.TOKENIZED)
tun Sie einen anderen zwischen den Dokumenten in der Datenbank vornehmen möchten und die Dokumente auf dem Fileserver? – Tyzak
Ja, sie sind unterschiedlich, die Datenbank enthält wenige Felder, aber die Texte der Dokumente (pdf/word) werden als solche indexiert. –
Nun, wenn ich möchte, können Sie einen Index verwenden, und trennen Sie diese zwei Arten von Dokumenten durch ein Feld (wie ich in der Antwort beschrieben). Sie können überprüfen, von wo aus Sie das Dokument indizieren. und dann können Sie die Felder abhängig davon füllen. Später in der Anwendung können Sie das Feld überprüfen und nur die Dokumente aus dem Index verwenden, die Sie verwenden möchten :) – Tyzak