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

Откуда:
Сообщений: 6
Возникла следующая проблема:
В таблице база данных в поле BLOB хранятся документы Word или Excell. Требуется в документа найти конкретное слово или часть слова.
Вопрос - возможно ли это без применения Oracle Text?
Ведь насколько понимаю - документ лежит во первых в двоичке во вторых в формате опередленным редактором и во вторых в кодировке.
23 авг 07, 13:04    [4565601]     Ответить | Цитировать Сообщить модератору
 Re: Поиск слова в документе  [new]
BW
Member

Откуда:
Сообщений: 727
log_buffer
Возникла следующая проблема:
В таблице база данных в поле BLOB хранятся документы Word или Excell. Требуется в документа найти конкретное слово или часть слова.
Вопрос - возможно ли это без применения Oracle Text?
Ведь насколько понимаю - документ лежит во первых в двоичке во вторых в формате опередленным редактором и во вторых в кодировке.


В чем собственно вопрос? Если только в применении Oracle Text, то ответ можно.

С уважением,
bw.
23 авг 07, 13:24    [4565833]     Ответить | Цитировать Сообщить модератору
 Re: Поиск слова в документе  [new]
AlexOI
Member

Откуда: Санкт-Петербург
Сообщений: 161
Насколько я себе представляю, документ формата Word или Exell на русском языке Oracle Text не проиндексирует
23 авг 07, 13:29    [4565869]     Ответить | Цитировать Сообщить модератору
 Re: Поиск слова в документе  [new]
log_buffer
Member

Откуда:
Сообщений: 6
Вопрос в том - решаема ли эта задача без Oracle Text?
То есть можно ли BLOB представить как строку и в ней найти слово?
Насчет трабл с русским языком в документации видел :(
23 авг 07, 13:32    [4565899]     Ответить | Цитировать Сообщить модератору
 Re: Поиск слова в документе  [new]
trak
Member

Откуда: spb.ru
Сообщений: 802
log_buffer
Вопрос в том - решаема ли эта задача без Oracle Text?
То есть можно ли BLOB представить как строку и в ней найти слово?
Насчет трабл с русским языком в документации видел :(

Да представить-то можно, только вот вопросы про кодировку сразу, оно-же там может быть и в UTF.
И больше размером, чем позволяется быть varchar2, то есть надо резать на куски, и где гарантия, что искомое слово не попадет как раз в разрыв строк при разрезании.
В общем конечно не сахар. Я-бы побоялся за это браться.
23 авг 07, 13:36    [4565936]     Ответить | Цитировать Сообщить модератору
 Re: Поиск слова в документе  [new]
miksoft
Member

Откуда:
Сообщений: 38545
log_buffer
Требуется в документа найти конкретное слово или часть слова.
В документе или в документах?
Если речь идет об одном документе, то выгрузить его на диск в виде файла и искать либо своей программой, либо, например, скриптом на VBA.
Если же большое множество документов, то, конечно, это будет слишком долго.
23 авг 07, 13:40    [4565971]     Ответить | Цитировать Сообщить модератору
 Re: Поиск слова в документе  [new]
AlexOI
Member

Откуда: Санкт-Петербург
Сообщений: 161
В BLOB слов нет, там последовательность байтов. Если ставить вопрос так: можно ли найти фрагмент бинарной последовательности в BLOB? то технически это возможно (DBMS_LOB.INSTR работает с бинарным типом), но соответствие кодировок - это тогда ваша проблема.
23 авг 07, 13:42    [4565988]     Ответить | Цитировать Сообщить модератору
 Re: Поиск слова в документе  [new]
-
Guest
AlexOI
Насколько я себе представляю, документ формата Word или Exell на русском языке Oracle Text не проиндексирует

Проиндексирует и искать будет, только нечеткий поиск невозможен, падежи и тп.
Автору можно посмотреть в сторону RCO
http://rco.ru/product.asp
23 авг 07, 13:44    [4566020]     Ответить | Цитировать Сообщить модератору
 Re: Поиск слова в документе  [new]
BW
Member

Откуда:
Сообщений: 727
log_buffer
Вопрос в том - решаема ли эта задача без Oracle Text?
То есть можно ли BLOB представить как строку и в ней найти слово?
Насчет трабл с русским языком в документации видел :(


Решаема. Только может начнете с начала (с описание задачи)?

С уважением,
bw.
23 авг 07, 13:45    [4566023]     Ответить | Цитировать Сообщить модератору
 Re: Поиск слова в документе  [new]
log_buffer
Member

Откуда:
Сообщений: 6
Задача следующая:
1. По почте приходит документ (Word или Excell).
2. Ложится в таблицу в BLOB поле.
3. Затем необходимо осуществить просмотр документа на предмет наличия в нем строки, соответствующей некоторому регулярному выражению.
23 авг 07, 13:51    [4566085]     Ответить | Цитировать Сообщить модератору
 Re: Поиск слова в документе  [new]
miksoft
Member

Откуда:
Сообщений: 38545
log_buffer
Задача следующая:
1. По почте приходит документ (Word или Excell).
2. Ложится в таблицу в BLOB поле.
3. Затем необходимо осуществить просмотр документа на предмет наличия в нем строки, соответствующей некоторому регулярному выражению.
пункт 3 выполняется сразу же, однократно и все время с одним и тем же регулярным выражением?
23 авг 07, 13:55    [4566103]     Ответить | Цитировать Сообщить модератору
 Re: Поиск слова в документе  [new]
log_buffer
Member

Откуда:
Сообщений: 6
miksoft
[quot log_buffer]пункт 3 выполняется сразу же, однократно и все время с одним и тем же регулярным выражением?

выполняется не сразу
выражение разное
23 авг 07, 13:59    [4566132]     Ответить | Цитировать Сообщить модератору
 Re: Поиск слова в документе  [new]
BW
Member

Откуда:
Сообщений: 727
log_buffer
Задача следующая:
3. Затем необходимо осуществить просмотр документа на предмет наличия в нем строки, соответствующей некоторому регулярному выражению.


Платформа Windows? То реализуйте в виде внешнего приложения, дешево и сердито.

С уважением,
bw.
23 авг 07, 16:32    [4567606]     Ответить | Цитировать Сообщить модератору
 Re: Поиск слова в документе  [new]
log_buffer
Member

Откуда:
Сообщений: 6
BW

Платформа Windows? То реализуйте в виде внешнего приложения, дешево и сердито.
bw.

То есть в базе в принципе решения не существует?
23 авг 07, 16:39    [4567657]     Ответить | Цитировать Сообщить модератору
 Re: Поиск слова в документе  [new]
zhmur
Member

Откуда: Severodvinsk
Сообщений: 362
Что то я не совсем понял предыдущих авторов особенно относительно ограничения в 256.. Оно то тут причём? У нас хранение word ов реализовано следующим образом: с помощью хитрой софтины (я могу уточнить) или с помощью самого ворда можно осуществить преобразование документа в xml, при этом форматирование не страдает, после чего xml загоняется в xml который хранится как CLOB. А после можно искать хоть regexp. Возможно (ВОЗМОЖНО) вам вообще это всё не потребуется. Поиск по маске доступен для русского языка по умолчанию. Адаптеры для word в оракле палюбому есть (это чтобы он смог проиндексировать двоичный объект).
23 авг 07, 20:11    [4568891]     Ответить | Цитировать Сообщить модератору
 Re: Поиск слова в документе  [new]
zhmur
Member

Откуда: Severodvinsk
Сообщений: 362
"Избранное" из стандартной документации....

1.With Oracle Text, you can create a CONTEXT index with columns of type VARCHAR2, CLOB, BLOB, CHAR, BFILE, XMLType, and URIType.
2.Because the system can index most document formats including HTML, PDF, Microsoft Word, and plain text, you can load any supported type into the text column.
23 авг 07, 20:19    [4568906]     Ответить | Цитировать Сообщить модератору
 Re: Поиск слова в документе  [new]
log_buffer
Member

Откуда:
Сообщений: 6
Насчет индексирования все понятно. Только все равно есть проблемы с русским языком. От них не деться никуда. А вопрос всетаки в том - как без Oracle Text?
24 авг 07, 09:44    [4570037]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить