Lucene Индексирование нескольких документов - PullRequest
1 голос
/ 17 января 2011

У меня есть такие данные о доступности, мало данных хранятся в базе данных, а другие загружаются в виде документов pdf / word / excel на файловый сервер каким должен быть индекс Lucene, если я хочу индексировать все вышеперечисленное? должен ли индекс быть разным для таблицы и документов? такой, что строка поиска ищется по индексам или объединяется в один индекс с различной структурой полей (поддерживает ли lucene это?)?

спасибо В

1 Ответ

0 голосов
/ 17 января 2011

если вы не хотите делать различие между документами, вы можете использовать один индекс.вы можете пройти через структуру папки, используя filesysteminfo.с помощью filesysteminfo вы можете проверить, является ли это папкой или документом, если это документ, вы индексируете его, если не вызываете функцию снова.

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 


                          ...

, если вы хотите что-то изменить, выможете проверить, если вы получаете документ из базы данных или с вашего файлового сервера.Просто сохраните вашу информацию в поле.

используйте строковую переменную (yourstring), если ваш документ из базы данных, то строка «база данных», иначе это «файлсервер»

Dim field_typ As Field = New Field("doc_typ", yourstring, Field.Store.YES, Field.Index.TOKENIZED)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...