Поисковик файлов локальной сети на C#
От: vit_as Россия  
Дата: 21.02.07 13:14
Оценка:
Я новичок в этом деле. Пытаюсь написать поисковик. Сканирую каждую машину в сети и записываю данные в базу. Для начала пробывал записывать данные в базу MS Access, но проблема в том, что даже при неполном сканировании сети, размер базы достигает 600 Мб а при попытке выполнить какой-нибудь запрос типа (SELECT * from table1 WHERE filename LIKE 'bla-bla-bla') он выполняется порядка 10-15 сек. (P IV 3GHz DDR 1024Мб )
Вопрос в том, какую лучше всего использовать базу для хранения данных?
Re: Поисковик файлов локальной сети на C#
От: Pavel M. Россия  
Дата: 21.02.07 13:34
Оценка:
Здравствуйте, vit_as, Вы писали:

_>Я новичок в этом деле. Пытаюсь написать поисковик. Сканирую каждую машину в сети и записываю данные в базу. Для начала пробывал записывать данные в базу MS Access, но проблема в том, что даже при неполном сканировании сети, размер базы достигает 600 Мб а при попытке выполнить какой-нибудь запрос типа (SELECT * from table1 WHERE filename LIKE 'bla-bla-bla') он выполняется порядка 10-15 сек. (P IV 3GHz DDR 1024Мб )

_>Вопрос в том, какую лучше всего использовать базу для хранения данных?

Поставь сервер, например MS SQL 2000/2005 или MySQL, не думаю, что тебе потребуется что-то хитрое от этих баз данных. Еще многое зависит от струтуры БД
--------------------------
less think — do more
Re[2]: Поисковик файлов локальной сети на C#
От: vit_as Россия  
Дата: 21.02.07 13:43
Оценка:
Здравствуйте, Pavel M., Вы писали:

PM>Здравствуйте, vit_as, Вы писали:


_>>Я новичок в этом деле. Пытаюсь написать поисковик. Сканирую каждую машину в сети и записываю данные в базу. Для начала пробывал записывать данные в базу MS Access, но проблема в том, что даже при неполном сканировании сети, размер базы достигает 600 Мб а при попытке выполнить какой-нибудь запрос типа (SELECT * from table1 WHERE filename LIKE 'bla-bla-bla') он выполняется порядка 10-15 сек. (P IV 3GHz DDR 1024Мб )

_>>Вопрос в том, какую лучше всего использовать базу для хранения данных?

PM>Поставь сервер, например MS SQL 2000/2005 или MySQL, не думаю, что тебе потребуется что-то хитрое от этих баз данных. Еще многое зависит от струтуры БД



А если в XML писать? это вообще изврат?
Re[3]: Поисковик файлов локальной сети на C#
От: Lloyd Россия  
Дата: 21.02.07 13:45
Оценка:
Здравствуйте, vit_as, Вы писали:

PM>>Поставь сервер, например MS SQL 2000/2005 или MySQL, не думаю, что тебе потребуется что-то хитрое от этих баз данных. Еще многое зависит от струтуры БД


_>А если в XML писать? это вообще изврат?


Только если очень хоцца тормозов.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Поисковик файлов локальной сети на C#
От: vit_as Россия  
Дата: 21.02.07 13:49
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, vit_as, Вы писали:


PM>>>Поставь сервер, например MS SQL 2000/2005 или MySQL, не думаю, что тебе потребуется что-то хитрое от этих баз данных. Еще многое зависит от струтуры БД


_>>А если в XML писать? это вообще изврат?


L>Только если очень хоцца тормозов.


Понятно, спасибо!
И еще вопрос, когда в ASP делаю вывод данных о расшаренных ресурсах, проверяю существует ли на данный момент файл через File.Exists(path). Ну оочень много времени этот процесс занимает... Есть ли какие-нибудь другие способы?
Re: Поисковик файлов локальной сети на C#
От: BOleg Россия  
Дата: 21.02.07 14:00
Оценка: +1
Здравствуйте, vit_as, Вы писали:

_>Вопрос в том, какую лучше всего использовать базу для хранения данных?

Поставь MS SQL 2005 Express (бесплатная, ограничение на размер базы 4Gb) и включи полнотекстовый поиск.
Будет искать за доли секунды. Плюс — поиск может осуществляться по .txt, .htm, .pdf, .doc документам.
В человечишке все должно быть прекрасненьким: и одёжка, и душенка, и мордочка, и мыслишки.
Re[5]: Поисковик файлов локальной сети на C#
От: Pavel M. Россия  
Дата: 21.02.07 14:14
Оценка:
Здравствуйте, vit_as, Вы писали:

_>Здравствуйте, Lloyd, Вы писали:


_>Понятно, спасибо!

_>И еще вопрос, когда в ASP делаю вывод данных о расшаренных ресурсах, проверяю существует ли на данный момент файл через File.Exists(path). Ну оочень много времени этот процесс занимает... Есть ли какие-нибудь другие способы?

не стоит проверять. лучше, индексатор пусть проверяет переодически, на существование. Еще используй хеш, то есть не выбирай из базы каждый раз, а часть объектов в памяти держи.
--------------------------
less think — do more
Re[6]: Поисковик файлов локальной сети на C#
От: vit_as Россия  
Дата: 21.02.07 14:19
Оценка:
Здравствуйте, Pavel M., Вы писали:

PM>Здравствуйте, vit_as, Вы писали:


_>>Здравствуйте, Lloyd, Вы писали:


_>>Понятно, спасибо!

_>>И еще вопрос, когда в ASP делаю вывод данных о расшаренных ресурсах, проверяю существует ли на данный момент файл через File.Exists(path). Ну оочень много времени этот процесс занимает... Есть ли какие-нибудь другие способы?

PM>не стоит проверять. лучше, индексатор пусть проверяет переодически, на существование. Еще используй хеш, то есть не выбирай из базы каждый раз, а часть объектов в памяти держи.


Это как? можно на примере объяснить?
Re: Поисковик файлов локальной сети на C#
От: akasoft Россия  
Дата: 21.02.07 16:07
Оценка:
Здравствуйте, vit_as, Вы писали:

_>Я новичок в этом деле. Пытаюсь написать поисковик. Сканирую каждую машину в сети и записываю данные в базу.


Посмотри на lucene, только не самый последний, а Lucene.Net-1.9.1-003-11Oct06. Там есть русский анализатор.

Подробности тут
Автор: akasoft
Дата: 22.11.06
, там есть ссылки на примеры, которые можно адаптировать под нужды поиска документов в офисе. Быстрый полнотекствовый поиск прилагается.
... << RSDN@Home 1.2.0 alpha rev. 675>> SQL Express 2005
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.