Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 t-sql: Поиск в содержимом файлов  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Как реорганизовать такой подход с учетом современных реалий?

=========================
Юзер создает прикладные объекты в базе, которые имеют поля - ссылки а файлы на диске. То есть - добавляет файлы в объекты, имена пишутся в поля объекта, сами файлы лежат на диске.

Нужно делать FTS по полям объекта в базе + по содержимому связанных файлов.

Сейчас (и раньше) это делается так
1. создается linked server для самого себя
EXEC sp_addlinkedserver @server=N'thisServer', @srvproduct=N'',@provider=N'SQLNCLI',@datasrc=N'....'

2. создается linked server для Indexing service
EXEC sp_AddLinkedserver 'FileSystem', 'Indexing Service', 'MSIDXS', 'System'

Далее запросами к базе + к содержимому файлов получаю результат, типа таких:

set @query_files_stmt='select * from openquery(FileSystem,''''SELECT FileName, Path FROM SCOPE(''''''''DEEP TRAVERSAL OF "'+@drive+'"'''''''') where CONTAINS(N''''''''"'+@string+'"'''''''') '''')'
set @query_stmt='select * from (select * from openquery(thisServer,'''+@query_files_stmt+''') union '+@query_filenames_stmt+') as vf'


Но при этом была возможность настроить Indexing service в системе (<win 7, <win2012), указав фолдеры для индексирования.
Сейчас в системах >=win8, win2012 все иначе с настройкой.
==================

1. кто работал с FileTable - может стоит использовать их для версий >=SQL2012?
2. Я так понимаю, что файлы будут доступны извне, как в обычнйо файловой системе?
3. Можно ли такой фолдер расположить на сетевой шаре?
4. какие еще варианты? учитывая то, что сейчас файлы, в которых делается поиск могут быть расположены на разных шарах в сети.
20 июл 15, 13:58    [17912828]     Ответить | Цитировать Сообщить модератору
 Re: t-sql: Поиск в содержимом файлов  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8570
Winnipuh,

я бы начал с чтения справки, как это ни банально выглядит.
20 июл 15, 17:18    [17913992]     Ответить | Цитировать Сообщить модератору
 Re: t-sql: Поиск в содержимом файлов  [new]
Crazy_Driver
Member

Откуда: α2000 = 14ч39м36с,5, δ2000 = -60°50'02"
Сообщений: 876
С учетом современных реалий - использовать SharePoint. Там есть поиск по контенту. В том числе и индексирование файловых шар.
20 июл 15, 17:25    [17914033]     Ответить | Цитировать Сообщить модератору
 Re: t-sql: Поиск в содержимом файлов  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Crazy_Driver
С учетом современных реалий - использовать SharePoint. Там есть поиск по контенту. В том числе и индексирование файловых шар.


Мне надо делать юнион типа такого

select id from table1 where contains(...)
union
select id from table2 where file_name in (select filename ИЗ ФАЙЛОВОЙ СИСТЕМЫ where contains(...))


Выборка из второй таблицы + поиск по файловой системе узкое место, туда же настройка Indexing service etc

Кроме того, думаю SharePoint денег стоит, а мне надо, чтобы работало на уровне пролетариата на экспрессах тоже.
20 июл 15, 18:04    [17914210]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить